2017-11-12 1 views
1

나는 PHP 시험에서이 같은 질문을했다

질문 : 어떻게 값의 합을 얻는 방법?

$str = "1,2,3,4,5,6,7"; 

내 해결했다 : 내 솔루션, 나쁜 나쁜 것을 들었다

// Splitting numbers in array and adding them up 
$str = "1,2,3,4,5,6,7"; 
$num_array = explode(',', $str); 

$str = 0; 
foreach($num_array as $num) { 
    $str+=$num; 
} 
echo $str; 

? 아무도 왜 나쁜 일인지 말해 줄 수 있습니까? 그리고 더 나은/최고의 솔루션?

덕분에, 사전

+1

나는 같은 방식으로 접근합니다. 그러나 당신의 이름은 이상적이지 않습니다. '$ str = 0;'은 다른 이름으로해야합니다. 마찬가지로 :'$ sum = 0;'다른 사람들은 PHP가 배열 값을 요약하는 함수를 가지고 있다고 말합니다. –

+1

누군가가 당신에게 해결책이 좋지 않다고 말하면서 당신에게 말할 수 없지만 그것이 나쁘다는 것은 꽤 슬픈 일입니다. 어쨌든 코드에 대한 질적 판단과 개선을위한 제안을 찾고 있다면 codereview.stackexchange.com을 사용해 볼 수 있습니다. –

답변

0

글쎄, 당신의 솔루션은 정확하지만, 최적화되거나 효율적이거나 가장 작은 코드를 기대할 수 있습니다. 다음과 같을 수도 있습니다 :

$str = "1,2,3,4,5,6,7"; 
echo array_sum(explode(',', $str)); 
0

에 당신은 문자열을 폭발보다는 배열을 반복 한 후 array_sum(explode(",",$yourarray))를 사용해야합니다. 이것은보다 효율적입니다.

관련 문제