Ale*_*lex 5 php arrays comparison multidimensional-array
如果两个数组的键相等,最快的比较方法是什么?
例如.
array1: array2:
'abc' => 46, 'abc' => 46,
'def' => 134, 'def' => 134,
'xyz' => 34, 'xyz' => 34,
Run Code Online (Sandbox Code Playgroud)
在这种情况下,结果应为TRUE(相同的键)
和:
array1: array2:
'abc' => 46, 'abc' => 46,
'def' => 134, 'def' => 134,
'qwe' => 34, 'xyz' => 34,
'xyz' => 34,
Run Code Online (Sandbox Code Playgroud)
结果应为FALSE(某些键不同)
array_diff_key()返回一个空数组......
mea*_*gar 17
使用array_diff_key,就是它的用途.如你所说,它返回一个空数组; 这应该是它应该做的.
给定array_diff_key($array1, $array2),如果array1中的所有array1的键都存在,它将返回一个空数组.要确保数组相等,您需要确保array1中存在所有array2的键.如果任一调用返回非空数组,则表示您的数组键不相等:
function keys_are_equal($array1, $array2) {
return !array_diff_key($array1, $array2) && !array_diff_key($array2, $array1);
}
Run Code Online (Sandbox Code Playgroud)