我今天碰到了这一点,想知道为什么要在php和js中处理数组方面做到这一点。
JS
let x = [];
let i = x;
i.push('test');
console.log(x);
//prints ['test']
PHP
$x = [];
$i = $x;
array_push($i, 'test');
print_r($x);
/prints []
答案 0 :(得分:5)
在JavaScript x
中,井是通过引用i
来分配的,而在PHP中,井是按值分配的。如果要使其在PHP中运行,应使用:
$i = &$x;
这意味着$i
中的任何更改都会影响$x
。参见PHP: References