PHP数组传递是值传递而非引用传递概念纠正_PHP
Jun 01, 2016 pm 12:08 PM
在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身。
说明此过程中的传递为值传递,数组变量并非是指向此数组本身的引用,PHP数组本身以值的形式存在,同时形参是对数组的拷贝。
这点与其他一些语言不同(如c、Js等)很不相同,值得注意!
复制代码 代码如下:
$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 )
Js代码如下:
复制代码 代码如下:
var arr = new Array('corn', '24');
test_arr(arr);
function test_arr(arr){
arr[0] = 'qqyumidi';
}
console.log(arr); //result:["qqyumidi", "24"]

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Gibt es eine Referenzübergabe in der Go-Sprache?

Entmystifizierung von Pass-by-Value und Pass-by-Reference in PHP-Funktionsaufrufen

So verstehen Sie die Wertübergabemethode in PHP richtig

Was sind Wertübergabe und Referenzübergabe?

Detaillierte Analyse des Unterschieds zwischen Wertübergabe und Referenzübergabe in Java

Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in Java?

Der Unterschied zwischen Strukturzeiger und Strukturwertübertragung in Golang-Funktionen

Eingehende Untersuchung der Unterschiede zwischen Pass-by-Value und Pass-by-Reference in Java und ihrer Auswirkungen
