foreach 루프는 원본 배열의 복사본을 사용합니다. 참조 할당 후에 원본 배열이 변경될 수 있는 이유는 무엇입니까?
으아악이 단락에서는 foreach 작업이 원본 배열의 복사본이고
원본 배열이 동기화 중에 중간에 손실되었음을 증명할 수 있습니다. 원본 배열의 내부 포인터는 한 번만 이동되었으며
후속 작업은 모두 복사본에서 수행됩니다
참조 할당 사용 시 배열의 참조 상황은 다음과 같습니다
으아악환자분의 답변에 진심으로 감사드립니다
给我你的怀抱2017-06-22 11:55:30
& 기호를 추가한 후에는 원본 배열의 복사본을 사용하지 않는 것입니다. 앰퍼샌드가 없으면 실제로 원본 배열의 복사본입니다. 앰퍼샌드를 추가하는 것은 포인터와 동일하며 이름만 할당하면 됩니다. 따라서 새 어레이를 변경하면 원래 어레이도 변경됩니다.
PHP 5부터는 $value 앞에 &를 추가하여 배열의 셀을 쉽게 수정할 수 있습니다. 이 방법은 값을 복사하는 대신 참조로 할당합니다.
習慣沉默2017-06-22 11:55:30
주소 전달 기호 &
를 추가하면 $aNewValue는 배열의 각 요소에 대한 포인터가 됩니다. 이는 원래 배열을 수정하는 것과 같습니다