합계 구하려면
본문
1-2단계를 거치다보니
이렇게 얻게 됩니다.
$text = 0010000000010000010000
여기서 1의 값만 더하여 3이 나오게 하려면 좋은 방법이 있을까요?
답변 7
$text = "0010000000010000010000";
$arr_text = str_split($text);
$number = 0;
foreach($arr_text as $key=>$val) {
if ($val == 1) {
$number++;
}
}
echo $number;
결과는 3
!--><?
$text = '0020200000000000000000000000002';
$h=2;
$s_count= substr_count($text,'2');
echo $h."의 합은=".$s_count*$h;
?>
2의 합은=6
<?php
$text ="0010000000010000010000";
echo substr_count($text, "1"); // 3
$sum = [];
$text = "0010000000010000010000";
foreach(str_split($text) as $num) {
$sum[] = (int)$num;
}
echo array_sum($sum);
다들 php 로 짜 주셔서 스크립트로는
<script>
my = "0010000000010000010000";
num = 0;
for (i in my.split("")) if (my.split("")[i] == 1) ++num;
document.write(num);
</script>
substr_count() 함수가 간편하긴 하지만,
1~9까지의 랜덤한 숫자라면 배열 함수 이용하면 편합니다.
알아두면 써먹기 좋은 함수 소개합니다.
<?php
$text = '0010000000010000010000';
$temp = str_split($text);
echo array_sum($temp); // 3
$text = '0 0 10 0 0 0 0 0 0 0 0 20 0 0 0 0 0 30 0 0 0 0'; // 공백으로 구분해 저장했다면
$temp = explode(' ', $text); // 공백으로 분리해 더해주면 그만
echo array_sum($temp); // 60
+ str_split()
- https://www.php.net/manual/en/function.str-split.php
- http://docs.php.net/manual/kr/function.str-split.php
+ array_sum()
!-->1~2 단계 내용이 엄청 궁금해지는군요.
답변을 작성하시기 전에 로그인 해주세요.