php中传值与传引用
php中传值和传引用
传值 如果是非对象 会传一个值的拷贝 对这个变量做的任何操作不会影响原值
传引用和传对象 传的是真实的内存地址 对与变量的操作会影响原值
一个特殊的传引用例子
代码:
<?php
$a = ['aaa','bbb'];
foreach ($a as &$val) {
$val .= 'ccc';
}
var_dump($a);
foreach ($a as $val) {
$val .= 'ddd';
}
var_dump($a);
结果:
array(2) {
[0]=>
string(6) "aaaccc"
[1]=>
&string(6) "bbbccc" // 第一个foreach后$val的地址指向的是$a[1]
}
array(2) {
[0]=>
string(6) "aaaccc"
[1]=>
&string(12) "aaacccdddddd" // 第二个foreach的任何更改都是针对的地址指向的$a[1]
}
本作品采用《CC 协议》,转载必须注明作者和本文链接