array pass-by-value und pass-by-referenz in php
In PHP spielen Arrays eine entscheidende Rollen in der Datenmanipulation. Verwalten von Arrays können jedoch Fragen zu ihrem Verhalten aufwerfen, wenn sie Variablen zugewiesen und als Funktionsargumente übergeben werden.
, wenn Arrays an Funktionen übergeben
, wenn ein Array an eine Funktion oder Methode übergeben wird, erstellt PHP eine Kopie des Array. Alle Änderungen am Array innerhalb der Funktion beeinflussen das ursprüngliche Array außerhalb der Funktion nicht. Um das Original -Array zu ändern, müssen Sie es mit dem Ampersand (&) Zeichen vor dem Variablennamen durch Referenz übergeben.
Beispiel:
function my_func(&$arr) { $arr[] = 30; } $arr = array(10, 20); my_func($arr); var_dump($arr); // Output: [10, 20, 30]
beim Zuweisen von Arrays an Variablen
ein Array einer neuen Variablen zuweisen, erstellt eine neue Kopie des Arrays. Die neue Variable ist kein Verweis auf das Original -Array.
Beispiel:
$a = array(1, 2, 3); $b = $a;
In diesem Fall ist $ B eine Kopie von $ a. Alle Änderungen an $ B wirken sich nicht aus $ a.
Ausnahme: Verwenden von Referenzzuweisungen
PHP bietet eine Syntax für die Zuweisung von Arrays durch Referenz mit dem Amper- (&) Zeichen. Dies erstellt einen Verweis auf das Original -Array, in dem Änderungen in beiden Variablen zugelassen werden, um beide Arrays zu beeinflussen.
Beispiel:
$a = array(1, 2, 3); $b = &$a;
Jetzt ist $ B eine Referenz auf $ a. Alle Änderungen an $ A oder $ B wirken sich auf den anderen aus.
Wenn Sie die Pass-by-Wert- und Pass-by-Referenz-Mechanismen für Arrays in PHP verstehen, können Sie Daten in Ihren Anwendungen effektiv verwalten und manipulieren.
..
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3