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.
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
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 = '张三'; $bb = new stdClass(); $bb->name = '李四'; $arr = array($aa, $bb); foreach($arr as $element){ $element->name = 'qqyumidi'; } foreach($arr as $el){ echo $el->name; echo "<br/>"; } // 结果:qqyumidi qqyumidi
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!