为什么要在JS中推送数组引用而不是PHP

时间:2018-09-05 18:02:30

标签: javascript php

我今天碰到了这一点,想知道为什么要在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 []

1 个答案:

答案 0 :(得分:5)

在JavaScript x中,井是通​​过引用i来分配的,而在PHP中,井是按值分配的。如果要使其在PHP中运行,应使用:

$i = &$x;

这意味着$i中的任何更改都会影响$x。参见PHP: References