3 ways to get different values: 1. Compare the array key values and return a difference array containing different values, the syntax is "array_diff(array 1, array 2)". 2. Compare the array key names and return a difference array containing different values. The syntax is "array_diff_key(array 1, array 2)". 3. Compare the key names and key values of the array, and return a difference array containing different values. The syntax is "array_diff_assoc(array 1, array 2)".
The operating environment of this tutorial: windows7 system, PHP version 8.1, DELL G3 computer
php obtains different values from two arrays, which is comparison Two arrays, get the difference set.
There are three situations in PHP comparing arrays: comparing only key values, comparing only key names, and comparing key values and key names. Corresponding to three built-in functions:
array_diff()
array_diff_key()
array_diff_assoc ()
Let’s learn about it through examples:
1. Use the array_diff() function--compare the key values of the array
array_diff() function is used to compare the values of two (or more) arrays and return the difference.
array_diff(array1,array2,array3...);
This function compares the values of two (or more) arrays (key=>value in value), and returns a difference array, which includes all the arrays being compared ( array1), but not in any other parameter array (array2 or array3, etc.).
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array(1,2,3,4,5,6); $arr2=array(2,4,6,8,10,12); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff($arr1,$arr2); var_dump($result); ?>
2. Use the array_diff_key() function to compare the key names of arrays
array_diff_key() function is used to compare two Key names of (or more) arrays and return the difference set.
array_diff_key(array1,array2,array3...);
This function compares the key names of two (or more) arrays and returns a difference array that includes everything in the compared array (array1) but not in any other parameters The key name in the array (array2 or array3, etc.).
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff_key($arr1,$arr2); var_dump($result); ?>
In the above example, there are two key names in the $arr1 array and the $arr2 array that are different. Based on the array $arr1, the value ""c"=>" blue"
" and ""d"=>"yellow"
", so the output result is:
3 , use the array_diff_assoc() function - compare the key names and key values of the array
array_diff_assoc() function is used to compare the key names and key values of two (or more) arrays, and return the difference set .
array_diff_assoc(array1,array2,array3...);
This function compares the key names and key values of two (or more) arrays, and returns a difference array, which includes everything in the compared array (array1), but not in any Key names and key values in other parameter arrays (array2 or array3, etc.).
<?php header("Content-type:text/html;charset=utf-8"); $arr1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $arr2=array("a"=>"orange","b"=>"green","e"=>"red","r"=>"yellow"); var_dump($arr1); var_dump($arr2); echo "两个数组的不同值:"; $result=array_diff_assoc($arr1,$arr2); var_dump($result); ?>
In the above example, the $arr1 array and the $arr2 array are compared. There are three different elements, and then the value ""a"=>"red will be obtained based on the array $arr1. "
", ""c"=>"blue"
", ""d"=>"yellow"
", so the output result is:
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to get different values from two arrays in php. For more information, please follow other related articles on the PHP Chinese website!