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

Wird ein PHP-Array als Referenz übergeben?

WBOY
Freigeben: 2023-03-16 20:28:01
Original
1429 Leute haben es durchsucht

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

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

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

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!

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