문자열 변수 더하기... 채택완료
밀랍
3년 전
조회 1,781
</p>
<p> $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;</p>
<p>
183,500 | 12,300
이렇게 갑이 들어가 있습니다...
값이 숫자가 아닌 , 가 있는 문자열이다보니까
연산이 , 앞부분만 되네요..
콤마를 포함해서 연산을 할려면 어떻게 해야 하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
3년 전
우선은 콤마를 포함하여 연산을 할 수 없습니다.
따라서 콤마를 제거 후 연산을 해야합니다.
</p>
<p><?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;
?></p>
<p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
반복문 필요없이 아래처럼 간단하게 구할 수 있습니다.
1. 숫자와 |가 아닌 문자[열] 제거 2. |로 분리하되 빈 값 제외 3. 배열의 합
</p>
<p>$not_money = array_sum(preg_split('/\|/', preg_replace('/[^\d|]+/', '', $list[$i]['wr_1']), -1, 1));</p>
<p>
$list[$i]['wr_1'] 값이 '183,500 | 12,300'라면, $not_money 결과값은 195800입니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인