javascript - 为什么你可以在 JS 中推送到数组引用而不是 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 []
解决方案
那么在 JavaScriptx
中是通过引用分配的,i
而在 PHP 中它是按值分配的。如果你想让它在 PHP 中工作,你应该使用:
$i = &$x;
这意味着任何更改$i
都会影响$x
. 请参阅PHP:参考资料
推荐阅读
- google-sheets - 根据不同的范围有条件地格式化范围
- bolt-cms - 在数组字段包含值的地方使用`setcontent`
- docker-compose - Docker-compose,从正在运行的容器中撤销一个秘密
- javascript - 跟随鼠标光标three.js的3d模型
- vba - 如何在 VBA(Microsoft Word)中打开文件然后激活该窗口?
- c# - 重置绑定正在阻止 WPF 中的 UI
- python - 从熊猫数据框中的列表中删除元素
- python - 合并两个 DataFrame 的函数
- javascript - AngularJS 如何在类控制器中访问 axios 的结果?
- iphone - 如何在我的网站上播放 iPhone 5 到 X 版本的广播流?