Heim > Backend-Entwicklung > PHP-Problem > Der Unterschied zwischen PHP-Objektarray und allgemeinem Array

Der Unterschied zwischen PHP-Objektarray und allgemeinem Array

(*-*)浩
Freigeben: 2023-02-26 21:00:01
Original
2826 Leute haben es durchsucht

Foreach ist in PHP eine häufig verwendete Funktion und wird oft zum Durchlaufen von Arrays verwendet. In Situationen, in denen die Elemente im Array Werte sind (z. B. bei gängigen Array-Typen), konvertiert foreach einfach jedes Element im array Der Wert wird nach jedem in die Variable kopiert, die eine Kopie des Werts selbst ist. Eine Änderung seines Werts hat keine Auswirkungen auf das Array selbst.

Der Unterschied zwischen PHP-Objektarray und allgemeinem Array

Wie zum Beispiel: (Empfohlenes Lernen: PHP-Video-Tutorial)

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

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

Aber wenn es sich um ein Objektarray handelt, das heißt, wenn alle Array-Elemente Objekte sind, ist die Variable nach jedem eine Kopie der Objektreferenz, und Änderungen daran wirken sich direkt auf das ursprüngliche Array selbst aus. Dies kann leicht mit der obigen Situation verwechselt werden.

Zum Beispiel:

$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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen PHP-Objektarray und allgemeinem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage