我有两个数组,我正在使用array_diff_assoc()
以获得差异,但它总是返回common set
结果中的行
它应该返回new q sets
排。我的方法有什么问题吗?
样本数据:
$array1 = [
[12 => 'new q sets'],
[11 => 'common set']
]
$array2 => [
[11 => 'common set']
];
打电话后array_diff_assoc($array1, $array2)
,我的输出是:
[
[11 => 'common set']
]
仅当以下情况时, key => value 对中的两个值才被视为相等(string) $elem1 === (string) $elem2
。换句话说,会进行严格检查,因此字符串表示形式必须相同。
http://php.net/manual/en/function.array-diff-assoc.php http://php.net/manual/en/function.array-diff-assoc.php
The (string)任意数组的值为"Array". http://ideone.com/AxQEv因此,您致电array_diff_assoc
有效地比较这两件事:
Array ( [0] => "Array" [1] => "Array" )
Array ( [0] => "Array" )
因为这两者之间的不同之处在于[1]
来自第一个数组的键/值对,你会得到它([1] => Array( [11] => common set )
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)