PHP 내장 함수를 통한 최적화
어떤 프로그래머가 배열에 숫자 5가
있는지 확인한다고 가정해 봅시다:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$exists = false;
foreach ($arr as $elem) {
if ($elem == 5) {
$exists = true;
break; // 불필요한 반복을 피하기 위해 루프를 탈출합니다
}
}
var_dump($exists);
?>
저는 이 코드에 문제가 있다고 말씀드리고 싶습니다. 숫자 3을 찾은 후 루프를 빠져나오는데, 무엇이 잘못되었을까요? 사실, PHP의 내장 함수는 항상 동일한 기능을 하는 직접 작성한 코드보다 훨씬 빠르게 작동합니다.
이 경우, 주어진 문제를 해결하는 함수 in_array가
존재하며, 바로 이 함수를 사용해야 합니다:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
교훈: 문제를 해결하기 전에 반드시 PHP에 해당 문제를 해결할 수 있는 내장 함수가 있는지 확인하세요.
다음 코드에서 어떤 프로그래머가 배열 요소의 합계를 찾고 있습니다. 이 프로그래머의 해결책을 최적화하세요.
코드는 다음과 같습니다:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
다음 코드에서 어떤 프로그래머가 배열 요소의 곱을 찾고 있습니다. 이 프로그래머의 해결책을 최적화하세요:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>