Home > Backend Development > PHP Problem > PHP compares two arrays to see if they are the same

PHP compares two arrays to see if they are the same

王林
Release: 2023-05-19 19:58:37
Original
691 people have browsed it

In PHP, you can use the array_diff and array_intersect functions to compare whether two arrays are the same. At the same time, you can also use the == or === operator to compare whether two arrays are equal.

  1. array_diff Function

array_diff The function can compare the difference between two arrays, that is, find out the difference between the first Elements that appear in the array but are not present in the second array.

Sample code:

$array1 = array(1, 2, 3);
$array2 = array(1, 3, 4);

if (count(array_diff($array1, $array2)) == 0 && count(array_diff($array2, $array1)) == 0) {
    echo "两个数组相同";
} else {
    echo "两个数组不同";
}
Copy after login

The output result is: The two arrays are different because element 2 is present in the first array but does not exist in the second array.

  1. array_intersect Function

array_intersect The function can compare the intersection of two arrays, that is, find out the intersection of the first array elements that appear in and are also present in the second array.

Sample code:

$array1 = array(1, 2, 3);
$array2 = array(1, 3, 4);

if (count(array_intersect($array1, $array2)) == count($array1) && count(array_intersect($array2, $array1)) == count($array2)) {
    echo "两个数组相同";
} else {
    echo "两个数组不同";
}
Copy after login

The output result is: The two arrays are different because element 2 is present in the first array but does not exist in the second array.

  1. == and === operators

== operations in PHP operator can compare whether the values ​​of two arrays are equal, and the === operator can compare whether the values ​​and types of two arrays are equal.

Sample code:

$array1 = array(1, 2, 3);
$array2 = array(1, 3, 2);

if ($array1 == $array2) {
    echo "两个数组值相同";
} else {
    echo "两个数组值不同";
}

if ($array1 === $array2) {
    echo "两个数组值和类型相同";
} else {
    echo "两个数组值和类型不同";
}
Copy after login

The output result is: The two array values ​​are the same and The two array values ​​and types are different. Because the elements of the second array are in a different order but have the same values, the == operator is used to compare for equality, and the === operator is used to compare for inequality.

Summary:

In PHP, to compare whether two arrays are the same, you can use the array_diff and array_intersect functions, and == and === operators. It should be noted that when using function comparison, you need to pay attention to the order of elements, while when using operator comparison, you need to pay attention to value and type issues. In actual applications, just choose the appropriate method according to your needs.

The above is the detailed content of PHP compares two arrays to see if they are the same. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template