>백엔드 개발 >PHP 문제 >PHP 객체 배열과 일반 배열의 차이점

PHP 객체 배열과 일반 배열의 차이점

(*-*)浩
(*-*)浩원래의
2019-10-16 13:43:422846검색

foreach는 PHP에서 자주 사용되는 함수이며 배열을 순회하는 데 자주 사용됩니다. 배열의 요소가 값인 경우(예: 일반 배열), foreach는 배열의 각 요소 값을 The에 복사합니다. 각각 뒤의 변수는 값 자체의 복사본입니다. 값을 변경해도 배열 자체에는 영향을 미치지 않습니다.

PHP 객체 배열과 일반 배열의 차이점

예: (권장 학습: PHP 비디오 튜토리얼)

$arr = array(1, 2, 3);

foreach($aa as $el){
    $el =+ 100;
}
 
foreach($arr as $el){
    echo $el;
    echo "<br/>";
 }    // 结果:1 2 3

그러나 객체 배열인 경우, 즉 배열 요소가 모두 객체인 경우 각 뒤에 있는 변수는 객체 참조의 복사본이며 이에 대한 변경 사항은 원본 배열 자체에 직접적인 영향을 미칩니다. 이 점은 위의 상황과 혼동되기 쉽습니다.

예:

$aa = new stdClass();
$aa->name = &#39;张三&#39;;

$bb = new stdClass();
$bb->name =  &#39;李四&#39;;

$arr = array($aa, $bb);

foreach($arr as $element){
    $element->name = &#39;qqyumidi&#39;;
}

foreach($arr as $el){
    echo $el->name;
    echo "<br/>";
}      // 结果:qqyumidi   qqyumidi

위 내용은 PHP 객체 배열과 일반 배열의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.