如何检查一个php数组,该数组包含与其他数组相同的值

时间:2019-12-09 04:56:26

标签: php arrays

我有两个数组,分别是$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'

);

如果使用上面的解决方案,它仍然显示相同的内容。

2 个答案:

答案 0 :(得分:0)

使用array_diff()

if(count(array_diff($a,$b)) == 0){
    echo "both array are identical";    

}

输出:-{https://3v4l.org/vEUiQ

注意:- :如果两个数组的大小都不同(一个元素较多,另一个元素较少),则必须在第一位置放置较大的数组使用array_diff()

检查此输出:-https://3v4l.org/9lNae

答案 1 :(得分:0)

使用array_diff()

[[0], [0,1]]