i have two array which is $a
and $b
, where the value of the array is same but the index of elements is different.
$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 )
but when i compare by using $a == $b
, it return false
even when the elements inside the array, is same (just the position of elements is different.)
solutions given before is
$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"; }
but if i remove an elements from $a
$a = Array ( 0 => 'there is bald spot on the inside or outside of tyre' //1 => 'uneven tyre wear' );
it still shows the identical if using the solution above.
Advertisement
Answer
use array_diff()
if(count(array_diff($a,$b)) == 0){ echo "both array are identical"; }
Output:-https://3v4l.org/vEUiQ
Note:- in case if both array size differs (one have more elements and other have less elements), then you have to put bigger array at first postion while using array_diff()
Check this output:- https://3v4l.org/9lNae