PHP는 foreach 루프 후에 배열 참조 문제를 남깁니다.

不言
풀어 주다: 2023-03-23 17:44:01
원래의
2113명이 탐색했습니다.

이 글에서는 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]

참고:

1. foreach의 구현 원칙은


2.&의 foreach 루프가 종료됩니다. 마지막 요소를 가리킵니다

피하는 방법:

&foreach 루프를 사용한 후 설정을 해제합니다($ a)


관련 권장 사항:

PHP에서 foreach 참조 주소 전달

foreach 사용 후 예외 처리 & PHP의 참조

foreach와 일반 for 루프 효율성 간의 분석

위 내용은 PHP는 foreach 루프 후에 배열 참조 문제를 남깁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!