为什么你可以推送到JS中的数组引用而不是PHP

问题描述 投票:3回答:1

我今天遇到了这个问题,想知道为什么在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 []
javascript php
1个回答
5
投票

在JavaScript中,x是通过引用i分配的,而在PHP中则是按值分配的。如果你想让它在PHP中工作,你应该使用:

$i = &$x;

这意味着$i的任何变化都会影响$x。见PHP: References

© www.soinside.com 2019 - 2024. All rights reserved.