문자열 변수 더하기...

문자열 변수 더하기...

QA

문자열 변수 더하기...

본문


                            $nots = explode('|',$list[$i][wr_1]);
                            $not_money= 0;
                            for($k=0; $k<count($nots); $k++){
                                $not_money =    $not_money + $nots[$k];
                            }
                            echo $not_money;

 

183,500 | 12,300

 

이렇게 갑이 들어가 있습니다...

 

값이 숫자가 아닌 , 가 있는 문자열이다보니까

연산이 , 앞부분만 되네요..

 

콤마를 포함해서 연산을 할려면 어떻게 해야 하나요?

이 질문에 댓글 쓰기 :

답변 3

우선은 콤마를 포함하여 연산을 할 수 없습니다.

따라서 콤마를 제거 후 연산을 해야합니다.


<?php
$nots = explode('|',$list[$i][wr_1]);
$not_money= 0;
for($k=0; $k<count($nots); $k++){
    $nots[$k] = str_replace(",", "", $nots[$k]); // 콤마를 제거
    $not_money = $not_money + $nots[$k];
}
echo $not_money;
?>

반복문 필요없이 아래처럼 간단하게 구할 수 있습니다.

1. 숫자와 |가 아닌 문자[열] 제거
2. |로 분리하되 빈 값 제외
3. 배열의 합

$not_money = array_sum(preg_split('/\|/', preg_replace('/[^\d|]+/', '', $list[$i]['wr_1']), -1, 1));

$list[$i]['wr_1'] 값이 '183,500 | 12,300'라면, $not_money 결과값은 195800입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,529 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT