我有类似下面的内容:
$array1 = array('first_name'=>'tom','last_name'=>'jackson','city'=>'london');
$array2 = array('last_name'=>'jackson','city'=>'london','first_name'=>'tom');
$array3 = array('city'=>'london','first_name'=>'tom','last_name'=>'jackson');
$array4 = array('last_name'=>'jackson','first_name'=>'tom','city'=>'london');
我想检查所有4个数组是否具有相同的键和相应的值。在上面的情况下,它必须返回true,因为所有值及其对应的键都是相同的。我可以使用2 for循环来做这个,但我想知道是否有任何其他捷径方法来减少执行时间。
提前谢谢....: - )
答案 0 :(得分:1)
如果所有数组都等于$ array1那么它们都是相等的:
$array1 == $array2 && $array1 == $array3 && $array1 == $array4
此功能也是如此:
function arrays_equal($arrays) {
$arrays = func_get_args();
for ($i = 1, $l = count($arrays); $i < $l; ++$i) {
if ($arrays[0] != $arrays[$i]) {
return false;
}
}
return true;
}
if (array_equals($array1, $array2, $array3, $array4)) {
// all arrays are equal (both keys and values)
}