Home Backend Development PHP Problem How to find different values ​​in two arrays in php

How to find different values ​​in two arrays in php

May 23, 2023 am 11:57 AM

As a widely used programming language, PHP often needs to compare different values ​​between two arrays when processing arrays. This article will introduce some PHP methods to find out the different values ​​​​of two arrays.

Method 1: Use array_diff() function
array_diff() function is very useful when comparing different values ​​between two arrays. It is used as follows:

<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "date");
$array2 = array("a" => "apple", "b" => "banana", "g" => "grape");

$result = array_diff($array1, $array2);

print_r($result);
?>
Copy after login

In the above code, We define two arrays $array1 and $array2, and find values ​​from $array1 that are different from $array2. It will return which values ​​exist in $array1 but not in $array2. The output result should be:

Array ( [c] => cherry [d] => date )
Copy after login

Method 2: Use array_udiff() function
If the array elements we need to compare are not just simple values, but also require more advanced comparisons, we need to use array_udiff () function, which allows us to use a custom callback function for comparison. The usage is as follows:

<?php
function compare($x, $y) {
   if ($x === $y) {
      return 0;
   }
   return ($x > $y) ? 1 : -1;
}

$array1 = array("apple", "banana", "cherry", "date");
$array2 = array("apple", "banana", "grape");

$result = array_udiff($array1, $array2, "compare");

print_r($result);
?>
Copy after login

In the above code, we define a comparison callback function compare(), which is used to compare the size relationship between two elements and return the original array element. Next, we use the array_udiff() function, passing in two arrays and a custom callback function, which returns the elements that exist in the first array and the elements that do not exist in the second array. The output result should be:

Array ( [2] => cherry [3] => date )
Copy after login

Method 3: Use array_diff_key() function
If we only need to compare the keys (keys) of two arrays, rather than the values ​​(values), we can use array_diff_key ()function. It will return values ​​with mismatched keys in both arrays. The usage is as follows:

<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana", "d" => "date");

$result = array_diff_key($array1, $array2);

print_r($result);
?>
Copy after login

In the above code, we compare the keys of the two arrays and return the value of the key value in $array1 that is different from $array2. The output result should be:

Array ( [c] => cherry )
Copy after login
Copy after login

Method 4: Use the array_udiff_assoc() function
If we need to compare different values ​​​​of two multi-dimensional arrays, we need to use the array_udiff_assoc() function, which is used in the same way as array_udiff( ) function is similar, except that it supports comparison of multi-dimensional arrays. The usage is as follows:

<?php
function compare($x, $y) {
   if ($x === $y) {
      return 0;
   }
   return ($x > $y) ? 1 : -1;
}

$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana", "d" => "date");

$result = array_udiff_assoc($array1, $array2, "compare");

print_r($result);
?>
Copy after login

In the above code, we define a callback function compare() for comparing multi-dimensional array elements, and the usage is similar to method two. We pass in two multidimensional arrays and use the callback function to compare them. The result returns the elements that exist in $array1 but not in $array2. The output should be:

Array ( [c] => cherry )
Copy after login
Copy after login

Conclusion

PHP provides a very rich function to compare different values ​​between two arrays. We can use the array_diff() or array_udiff() function to compare different values ​​between ordinary arrays, use the array_diff_key() function to compare different values ​​between arrays with different key values, and use the array_udiff_assoc() function to compare multi-dimensional arrays. of different values. Mastering the use of these functions will greatly help us process data during PHP development.

The above is the detailed content of How to find different values ​​in two arrays in php. For more information, please follow other related articles on the PHP Chinese website!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1654
14
PHP Tutorial
1252
29
C# Tutorial
1225
24