In PHP, array is a very common data type. In many cases, we need to compare and process different arrays. The array_diff_key() function in PHP can very conveniently compare the key values in two or more arrays and implement difference processing between arrays. This article will introduce the usage and examples of the PHP array_diff_key() function in detail.
1. Introduction to the array_diff_key() function
The array_diff_key() function is one of the built-in functions of PHP. Its function is to find the keys that exist in the first array, but do not exist in one or more subsequent arrays, and return an array composed of these keys.
The syntax of this function is as follows:
array array_diff_key (array $array1, array $array2 [, array $...])
Among them, array1 needs to be compared The original array, array2 is the target array that needs to be compared. If a third array is given, the function continues comparing to this array, and so on until the last array.
2. Return value of array_diff_key() function
array_diff_key() function returns an array. The contents stored in the array exist in the first array, but in the subsequent one or For key names that do not exist in multiple arrays, the key names of the returned array are the key names of the original array, and the key values of the returned array are the key values of the original array.
If the original array and the target array are completely consistent, the array_diff_key() function will return an empty array.
3. Usage examples of array_diff_key() function
Next we will demonstrate the use of array_diff_key() function through several examples.
Suppose we have an original array $firstArray and a target array $targetArray, as shown below:
$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading'); $targetArray = array('age'=>20, 'hobby'=>'sport');
Now we want Find the key name that exists in $firstArray but does not exist in $targetArray. You can use the following code:
$result = array_diff_key($firstArray, $targetArray); print_r($result);
The execution output is:
Array ( [name] => Tom [sex] => male )
Here we can see that the key names that exist in $firstArray but do not exist in $targetArray include 'name' and ' sex', the final returned array contains only these key names.
We can also compare the key values of multiple arrays at the same time, as shown below:
$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading'); $targetArray1 = array('age'=>20, 'hobby'=>'sport'); $targetArray2 = array('name'=>'Jack', 'hobby'=>'music'); $result = array_diff_key($firstArray, $targetArray1, $targetArray2); print_r($result);
The execution output result is:
Array ( [age] => 25 [sex] => male )
Similarly, this function finds all key names that match the key names in $firstArray but do not exist in any subsequent target array, and returns an array containing these key names.
We can also use a loop to compare multiple arrays, as shown below:
$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading'); $targetArray1 = array('age'=>20, 'hobby'=>'sport'); $targetArray2 = array('name'=>'Jack', 'hobby'=>'music'); $targetArray3 = array('name'=>'Tom', 'age'=>25); $targetArrays = array($targetArray1, $targetArray2, $targetArray3); $result = $firstArray; foreach($targetArrays as $targetArray){ $result = array_diff_key($result, $targetArray); } print_r($result);
The execution output is:
Array ( [sex] => male [hobby] => reading )
Here we use a loop to compare multiple arrays. First, initialize the result array to the original array $firstArray, then compare all target arrays one by one, and use the array_diff_key() function to find all keys that do not exist in the target array. name.
4. Summary
Through the above examples, we can see that the array_diff_key() function is very simple and very practical. It can easily help us compare and differ between multiple arrays. deal with. In short, mastering the use of this function will help us better handle and manage arrays in PHP.
The above is the detailed content of Detailed explanation of the usage of PHP array_diff_key() function. For more information, please follow other related articles on the PHP Chinese website!