답변 4개
채택된 답변
+20 포인트
5년 전
</p>
<p>$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];
}</p>
<p>$sum = array_map(function($result) {
return array_sum($result);
}, $result);</p>
<p>echo implode("|", $sum);</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 9개
�
머시기거시기
5년 전
�
왕계란
5년 전
$wr_1 = implode("|", $sum);
�
머시기거시기
5년 전
감사합니다. 잘됩니다~
s
sinbi
5년 전
오늘따라 계란이 더욱 커 보여용.
( ^ _________ ^ ) ===b
( ^ _________ ^ ) ===b
�
머시기거시기
5년 전
제가 생각을 미처 못해서 그런데요
wr_1에 1|2|2|1|0|1|3|4|0|4 이러면
wr_2에 | | | |요기에| | | |요기에|||
이렇게 저장되게 할 수 없을까요?
다른 공간은 공백이구요
wr_1에 1|2|2|1|0|1|3|4|0|4 이러면
wr_2에 | | | |요기에| | | |요기에|||
이렇게 저장되게 할 수 없을까요?
다른 공간은 공백이구요
�
왕계란
5년 전
| | | |요기에| | | |요기에|||
이게 규칙이 있는 건가요?
이게 규칙이 있는 건가요?
�
머시기거시기
5년 전
규칙은 없구요 합산한 자리에 넣으려고요
�
왕계란
5년 전
[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]
�
머시기거시기
5년 전
덕분에 고민하던거 해결되었습니다.
좋은 분인거 같아요,너무 감사해요
좋은 분인거 같아요,너무 감사해요
댓글을 작성하려면 로그인이 필요합니다.
5년 전
</p>
<p>$tx = "22|14|44|26|<span style="color:#e74c3c;">0</span>|2|6|87|85|<span style="color:#e74c3c;">0|</span>|3| ";</p>
<p> </p>
<p>list( $a, $b, $c ) = split( "|0|", $tx );</p>
<p>$a2 = split( "|", $a);</p>
<p>$b2 = split( "|", $b);</p>
<p>$newarr[] = array_sum( $a2 );</p>
<p>$newarr[] = array_sum( $b2 );</p>
<p> </p>
<p>print_r( $newarr ); // --> array( 0=>.... , 1=>.... )</p>
<p> </p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
머시기거시기
5년 전
감사합니다. 이거도 될거 같은데
제가 어려워서,ㅋ
제가 어려워서,ㅋ
s
sinbi
5년 전
오~~~~ 호, ( ^ _______ ^ ) ==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 );
댓글을 작성하려면 로그인이 필요합니다.
5년 전
</p>
<p>$str = '22|14|44|26|0|2|6|87|85|0||3|';
$sum = 0;</p>
<p> </p>
<p>$arrRes = [];
$arrNum = explode('|', $str);</p>
<p> </p>
<p>foreach ($arrNum as $num) {</p>
<p> if (is_numeric($num)) {</p>
<p> if ($num > 0) {
$sum += $num;</p>
<p> } else {
$arrRes[] = $sum;
$sum = 0;
}
}
}</p>
<p>var_dump($arrRes);</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
머시기거시기
5년 전
감사합니다.
$str = '22|14|44|26|0|2|6|87|85|0||3|';
이부분을
$str=wr_1; 이렇게 하면되나요?
$str = '22|14|44|26|0|2|6|87|85|0||3|';
이부분을
$str=wr_1; 이렇게 하면되나요?
s
sinbi
5년 전
저도 궁금한 게 하나 있는데,
아래 코드 부분엔 $arrRes 관련된 게 없는데
어떻게 sum값이 $arrRes 변수 배열값으로 담기는 건가요? 신기한 코드에요.ㅎ
if ($num > 0) {
$sum += $num;
아래 코드 부분엔 $arrRes 관련된 게 없는데
어떻게 sum값이 $arrRes 변수 배열값으로 담기는 건가요? 신기한 코드에요.ㅎ
if ($num > 0) {
$sum += $num;
S
SLOOP
5년 전
sinbi // if문에서 $num > 0의 경우에 $sum 변수에 값을 계속 더해줍니다. 그리고 0을 만나서 else로 넘어가면 그동안 $sum에 더해졌던 값을 $arrRes에 배열로 담고 $sum 변수를 다시 초기화 해주는거죠.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$str = "22|14|44|26|0|2|6|87|85|0||3|";
이부분을 wr_1로 해야 하는데...
$str = "wr_1";
이렇게 하면 되나요?
$str = $wr_1;
이렇게 해야 하는지...ㅋ