在js中定义两个数组var arr = [1,2,3]; var arr1 = [1,2,3]; console.log(arr===arr1);
输出结果是false。
但是在php中$arr = array(0=>1,1=>2,2=>3); $arr1 = array(0=>1,1=>2,2=>3); var_dump($arr === $arr1);
输出结果是true。
js中是比较两个数组存储的内存地址。刚学php,不知道是如何比较的,求赐教。
在js中定义两个数组var arr = [1,2,3]; var arr1 = [1,2,3]; console.log(arr===arr1);
输出结果是false。
但是在php中$arr = array(0=>1,1=>2,2=>3); $arr1 = array(0=>1,1=>2,2=>3); var_dump($arr === $arr1);
输出结果是true。
js中是比较两个数组存储的内存地址。刚学php,不知道是如何比较的,求赐教。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
首先php数组使用 运算符比较的时候 根本不比较内存值,具体点击 这里 查看
其次, php除了 object 外,其他类型的变量大多在赋值、参数传递、返回值中得到都是它的副本, 很少使用按址传递,如果想要按地址传递(引用传递)可以这么写: