我有两个数组,分别是$a
和$b
,其中数组的值相同,但元素的索引不同。
$a
Array ( [0] => there is bald spot on the inside or outside of tyre [1] => uneven tyre wear )
$b
Array ( [0] => uneven tyre wear [1] => there is bald spot on the inside or outside of tyre )
但是当我使用$a == $b
进行比较时,即使数组中的元素相同(只是元素的位置不同),它也会返回false
。
以前给出的解决方案是
$a = Array (
0 => 'there is bald spot on the inside or outside of tyre',
1 => 'uneven tyre wear'
);
$b = Array (
0 => 'uneven tyre wear',
1 => 'there is bald spot on the inside or outside of tyre'
);
if(count(array_diff($a,$b)) == 0){
echo "both array are identical";
}
但是如果我从$ a中删除了一个元素
$a = Array (
0 => 'there is bald spot on the inside or outside of tyre'
//1 => 'uneven tyre wear'
);
如果使用上面的解决方案,它仍然显示相同的内容。
答案 0 :(得分:0)
if(count(array_diff($a,$b)) == 0){
echo "both array are identical";
}
注意:- :如果两个数组的大小都不同(一个元素较多,另一个元素较少),则必须在第一位置放置较大的数组使用array_diff()
检查此输出:-https://3v4l.org/9lNae
答案 1 :(得分:0)
使用array_diff()
[[0], [0,1]]