PHP检查两个数组是否相等
|
我想检查两个数组是否相等。我的意思是:相同的大小,相同的索引,相同的值。我怎样才能做到这一点? 有人建议我使用===,我希望如果数组中的至少一个元素不同,则以下代码将输出enter,但事实上它不是。 if (($_POST['atlOriginal'] !=== $oldAtlPosition) or ($_POST['atl'] !=== $aext) or ($_POST['sidesOriginal'] !=== $oldSidePosition) or ($_POST['sidesOriginal'] !=== $sideext)) { echo "enter"; } 有什么好的办法实现吗? 解决方法一: 使用php函数array_diff(array1,array2); 它将返回数组之间的差异。如果它是空的那么它们是平等的。 例: $array1 = array( 'a' => 'value1', 'b' => 'value2', 'c' => 'value3' ); $array2 = array( 'a' => 'value1', 'c' => 'value4' ); $diff = array_diff(array1,array2); var_dump($diff); //it will print array = (0 => ['c'] => 'value4' ) 例2: $array1 = array( 'a' => 'value1', 'c' => 'value3', ); $array2 = array( 'a' => 'value1', ); $diff = array_diff(array1,array2); var_dump($diff); 解决方法二: 尝试序列化。这将检查嵌套的子数组。 $foo =serialize($array_foo); $bar =serialize($array_bar); if ($foo == $bar) echo "Foo and bar are equal"; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
