PHP 루프에서 중괄호 문제
루프에서 중괄호를 생략할 수 있지만, 그렇게 하면 코드에 오류가 발생하는 경우가 많기 때문에 매우 권장하지 않습니다.
예를 들어 살펴보겠습니다. 다음 코드가 있다고 가정해 봅시다:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // 0부터 9까지의 숫자를 출력합니다
?>
위 코드에 약간의 수정을 가해 보겠습니다(어떤 수정인지 찾아보세요) - 그러면 코드가 작동을 멈춥니다:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // 10을 출력합니다
?>
그럼, 제가 무엇을 수정했을까요?
문제는 제가 루프의 괄호 ) 뒤에 세미콜론을 붙였기 때문에 발생했습니다. 이렇게 되면 소위 몸체가 없는 루프가 되어버립니다: 루프는 내부에서만 돌고, 다음 줄은 더 이상 루프에 속하지 않게 됩니다. 따라서 문제를 피하기 위해, 저는 항상 루프에 중괄호를 사용할 것을 권장합니다.
다음 코드를 실행한 결과가 무엇일지 설명해 보세요:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>