Home >Backend Development >PHP Problem >How to compare two array data in php to see if they are the same data

How to compare two array data in php to see if they are the same data

PHPz
PHPzOriginal
2023-04-27 09:03:12840browse

In PHP development, it is often necessary to compare whether the data in two arrays are the same. This is very common when processing data. This article will introduce several methods to compare whether two array data are the same. I hope it can help readers.

  1. array_diff function

array_diff function is used to compare the difference between two arrays. If the two arrays have exactly the same data, an empty array will be returned. The usage method is as follows:

$arr1 = array('a', 'b', 'c');
$arr2 = array('a', 'b', 'd');
$diff = array_diff($arr1, $arr2);
if(empty($diff)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are different".

  1. array_intersect function

The array_intersect function is used to obtain the intersection of two arrays. If the data in the two arrays are exactly the same, the original array is returned. The usage method is as follows:

$arr1 = array('a', 'b', 'c');
$arr2 = array('a', 'b');
$intersect = array_intersect($arr1, $arr2);
if($arr1 === $intersect){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are different".

  1. array_diff_assoc function

array_diff_assoc function is used to compare the difference between two arrays (including key-value pairs). If the two array data are exactly the same, an empty array is returned. . The usage method is as follows:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 4, 'c' => 3);
$diff = array_diff_assoc($arr1, $arr2);
if(empty($diff)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are different".

  1. array_intersect_assoc function

array_intersect_assoc function is used to obtain the intersection of two arrays (including key-value pairs). If the data in the two arrays are exactly the same, the original value is returned. array. The usage method is as follows:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2);
$intersect = array_intersect_assoc($arr1, $arr2);
if($arr1 === $intersect){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are different".

  1. serialize and unserialize functions

The serialize function serializes arrays and can easily compare whether two arrays are the same. The usage is as follows:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2, 'c' => 3);
if(serialize($arr1) === serialize($arr2)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are the same".

  1. json_encode and json_decode functions

The json_encode function converts the array into json format for easy comparison. The usage is as follows:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2, 'c' => 3);
if(json_encode($arr1) === json_encode($arr2)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

The result output: "The two arrays are the same".

The above are several methods for comparing whether two array data are the same. Developers can choose the appropriate method according to the actual situation.

The above is the detailed content of How to compare two array data in php to see if they are the same data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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