Heim  >  Artikel  >  Backend-Entwicklung  >  Wird ein PHP-Array als Referenz übergeben?

Wird ein PHP-Array als Referenz übergeben?

WBOY
WBOYOriginal
2022-09-20 17:02:361366Durchsuche

Die PHP-Array-Übertragung erfolgt nicht per Referenz, sondern per Wert. Wenn Sie beim Aufrufen einer Funktion das PHP-Array als tatsächlichen Parameter dem formalen Parameter zuweisen und es in der Funktion ändern, hat dies keine Auswirkungen auf das Array selbst, was darauf hinweist, dass die Übertragung darin erfolgt Da der Prozess als Wert übergeben wird, ist die Array-Variable kein Verweis auf das Array selbst.

Wird ein PHP-Array als Referenz übergeben?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 8.1, Dell G3-Computer

Ist die Array-Übergabe in PHP nach Referenz und Wert erfolgt?

Die Array-Übergabe in PHP erfolgt nach Wert und nicht nach Referenz.

Weisen Sie beim Aufruf einer Funktion das PHP-Array als tatsächlichen Parameter dem formalen Parameter zu. Eine Änderung in der Funktion hat keine Auswirkungen auf das Array selbst.

Erklären Sie, dass die Übertragung in diesem Prozess nach Wert erfolgt. Die Array-Variable ist keine Referenz auf das Array selbst. Das PHP-Array selbst existiert in Form eines Werts und der formale Parameter ist eine Kopie des Arrays.

Dies unterscheidet sich stark von einigen anderen Sprachen (wie C, Js usw.) und ist daher erwähnenswert!

Das Beispiel lautet wie folgt:

$arr = array(
    'name' => 'corn',
    'age' => '24',
);
test_arr($arr);
function test_arr($arr){
    $arr['name'] = 'qqyumidi';
}
print_r($arr); //result: Array ( [name] => corn [age] => 24 )

Der js-Code lautet wie folgt:

var arr = new Array('corn', '24');
test_arr(arr);
function test_arr(arr){
    arr[0] = 'qqyumidi';
}
console.log(arr);  //result:["qqyumidi", "24"]

Wenn Sie den Referenzübertragungseffekt für die Wertübertragung in PHP verwenden müssen, können Sie das Adresszeichen & vor dem formalen Parameter hinzufügen .

$aa = 100;
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
print_r($aa);   //result: 200

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWird ein PHP-Array als Referenz übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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