이 글에서는 foreach 루프 이후에 PHP가 남긴 배열의 참조 문제를 소개합니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들이 살펴볼 수 있습니다.
결과:
설명:
1. foreach는 블록 수준 필드가 아니며, 배열 참조는 $k로 끝나며, $a는 메모리를 해제하지 않습니다.
2. 첫 번째 참조 주기가 끝나면 $a는 배열의 마지막 요소 4
3. 루프가 두 번째로 시작되면(이 시점에서 $a는 이미 참조인 마지막 요소를 가리킵니다)
배열의 변경 사항은 다음과 같습니다.
1->[1
,2,3, 4]2-> [1,2
,3,4]3-> ] 세 번째 시간 값은 마지막 요소 3을 가리키지만 값은 다음과 같습니다. 전역 참조는 마지막 루프의 마지막 요소를 가리키므로 value=3이면 마지막 요소의 값도 3
4로 변경됩니다. -> [1,2,3,3]
참고:
2.&의 foreach 루프가 종료됩니다. 마지막 요소를 가리킵니다
관련 권장 사항:
위 내용은 PHP는 foreach 루프 후에 배열 참조 문제를 남깁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!