php和js关于数组比较的区别

在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,不知道是如何比较的,求赐教。

阅读 2.7k
1 个回答

首先php数组使用 运算符比较的时候 根本不比较内存值,具体点击 这里 查看

clipboard.png

其次, php除了 object 外,其他类型的变量大多在赋值、参数传递、返回值中得到都是它的副本, 很少使用按址传递,如果想要按地址传递(引用传递)可以这么写:

$b = array(10,20,30,40,50)
$a = &$b
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题