답변 4개 / 댓글 15개
채택된 답변
+20 포인트
Copy
$result = [];
$str = "22|14|44|26|0|2|6|87|85|0||3|";
$arr = explode("|", $str);
for($i = 0, $j = 0; $i < count($arr); $i++) {
if($arr[$i] == 0) {
$j++;
continue;
}
$result[$j][] = $arr[$i];
}
$sum = array_map(function($result) {
return array_sum($result);
}, $result);
echo implode("|", $sum);
답변에 대한 댓글 9개
[code]
$sum = 0;
$result = [];
$str = "22|14|44|26|0|2|6|87|85|0||3|";
$arr = explode("|", $str);
for($i = 0; $i < count($arr); $i++) {
$sum += $arr[$i];
if($arr[$i] == 0 && is_numeric($arr[$i])) {
$result[] = $sum;
$sum = 0;
continue;
}
$result[] = $arr[$i];
}
$wr_2 = implode("|", $result);
[/code]
$sum = 0;
$result = [];
$str = "22|14|44|26|0|2|6|87|85|0||3|";
$arr = explode("|", $str);
for($i = 0; $i < count($arr); $i++) {
$sum += $arr[$i];
if($arr[$i] == 0 && is_numeric($arr[$i])) {
$result[] = $sum;
$sum = 0;
continue;
}
$result[] = $arr[$i];
}
$wr_2 = implode("|", $result);
[/code]
Copy
$tx = "22|14|44|26|0|2|6|87|85|0||3| ";
list( $a, $b, $c ) = split( "|0|", $tx );
$a2 = split( "|", $a);
$b2 = split( "|", $b);
$newarr[] = array_sum( $a2 );
$newarr[] = array_sum( $b2 );
print_r( $newarr ); // --> array( 0=>.... , 1=>.... )
답변에 대한 댓글 2개
오~~~~ 호, ( ^ _______ ^ ) ==b
<?php
$str = '1|2|3|4|0|2|4|6|8|0||3|';
list( $a, $b, $c ) = explode("|0|",$str);
$a2 = explode( "|", $a);
$b2 = explode( "|", $b);
$newarr[] = array_sum( $a2 );
$newarr[] = array_sum( $b2 );
print_r( $newarr );
<?php
$str = '1|2|3|4|0|2|4|6|8|0||3|';
list( $a, $b, $c ) = explode("|0|",$str);
$a2 = explode( "|", $a);
$b2 = explode( "|", $b);
$newarr[] = array_sum( $a2 );
$newarr[] = array_sum( $b2 );
print_r( $newarr );
Copy
$str = '22|14|44|26|0|2|6|87|85|0||3|';
$sum = 0;
$arrRes = [];
$arrNum = explode('|', $str);
foreach ($arrNum as $num) {
if (is_numeric($num)) {
if ($num > 0) {
$sum += $num;
} else {
$arrRes[] = $sum;
$sum = 0;
}
}
}
var_dump($arrRes);
답변에 대한 댓글 3개
답변을 작성하려면 로그인이 필요합니다.
$str = "22|14|44|26|0|2|6|87|85|0||3|";
이부분을 wr_1로 해야 하는데...
$str = "wr_1";
이렇게 하면 되나요?
$str = $wr_1;
이렇게 해야 하는지...ㅋ