PHP 4에서는 Perl 및 기타 언어와 마찬가지로 foreach 구문이 도입되었습니다. 이는 배열을 반복하는 편리한 방법일 뿐입니다. foreach는 배열에만 사용할 수 있으며, 다른 데이터 유형이나 초기화되지 않은 변수와 함께 사용하려고 하면 오류가 발생합니다. 두 가지 구문이 있는데, 두 번째 구문은 덜 중요하지만 첫 번째 구문의 유용한 확장입니다.
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
첫 번째 형식은 지정된 array_expression 배열을 반복합니다. 루프를 통과할 때마다 현재 셀의 값이 $value에 할당되고 배열 내부의 포인터가 한 단계 앞으로 이동합니다(따라서 다음 루프에서 다음 셀을 얻습니다).
두 번째 형식은 현재 셀의 키 이름이 각 루프의 $key 변수에도 할당된다는 점을 제외하면 동일한 작업을 수행합니다.
PHP 5부터는 객체 순회도 가능합니다.
참고: foreach 실행이 시작되면 배열 내부의 포인터가 자동으로 첫 번째 유닛을 가리킵니다. 이는 foreach 루프 전에 Reset()을 호출할 필요가 없음을 의미합니다.
참고: 배열을 참조하지 않는 한 foreach는 배열 자체가 아닌 지정된 배열의 복사본에서 작동합니다. foreach에는 배열 포인터에 몇 가지 부작용이 있습니다. 재설정되지 않는 한 foreach 루프 도중이나 이후에 배열 포인터 값을 사용하지 마세요.
PHP 5부터는 $value 앞에 &를 추가하여 배열 요소를 쉽게 수정할 수 있습니다. 이 방법은 값을 복사하는 대신 참조로 할당합니다.
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?>
이 메서드는 탐색 중인 배열을 참조할 수 있는 경우에만 사용할 수 있습니다(예: 변수).
<?php foreach (array(1, 2, 3, 4) as &$value) { $value = $value * 2; } ?>
PHP의 더 많은 기능 - foreach() 사용법에 대한 자세한 설명을 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!