我很难理解 PHP 的内存模型。
具体来说,我应该如何更改$fn
以使$b
references$a
和var_dump
打印一个非空数组?
$a = array();
$fn = function() use (&$a) {
return $a;
};
$b = $fn();
$b['a'] = 1;
var_dump($a);
(更一般地说,您是否有关于何时/如何使用参考的推荐参考?)
编辑:其他语言的示例,其中a
变为非空。
Python:
a = {}
def fn():
return a;
b = fn()
b['a'] = 1
print a
Javascript
var a = {};
var fn = function() {
return a;
};
b = fn();
b['a'] = 1;
console.log(a);