Home  >  Article  >  Backend Development  >  Introduction to the usage of PHP's array_intersect_key() function

Introduction to the usage of PHP's array_intersect_key() function

王林
王林Original
2023-06-26 23:51:091826browse

The array_intersect_key() function in PHP is a very practical function. Its main function is to compare the keys of two or more arrays and return a new array that only contains the key names in all given arrays. elements present in all. This article will introduce to you the basic syntax and usage of the array_intersect_key() function.

1. The basic syntax of the array_intersect_key() function

The basic syntax of the array_intersect_key() function in PHP is as follows:

array array_intersect_key ( array $array1 , array $array2 [, array $... ] )

Among them, $array1, $array2, etc. are passed in Each array parameter.

2. How to use the array_intersect_key() function

  1. Only pass one parameter

When only one parameter is passed in, the array_intersect_key() function does not It is not processed and an empty array is returned directly.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS");
$result = array_intersect_key($array1);
print_r($result);  // 输出:Array()
  1. Passing two parameters

When passing two parameters, the array_intersect_key() function compares the keys of the two arrays and returns a new array that Contains only elements whose key exists in all given arrays.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

In the above code, $array1 and $array2 are the two array parameters passed in, and $result is the new array returned by the function. This array only contains elements whose key names exist in both arrays.

  1. Passing three or more parameters

When passing three or more parameters, the array_intersect_key() function is the same as when passing two parameters, except that there are more One or more array parameters were passed.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");
$result = array_intersect_key($array1, $array2, $array3);
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

In the above code, $array1, $array2, and $array3 are the three parameters passed in, and $result is the new array returned by the function. This array only contains key names that exist in all given arrays. Elements.

3. Application example of array_intersect_key() function

  1. Judge whether the array has the specified key value

You can use the array_intersect_key() function to determine whether the array has the specified key value The specified key value.

function checkArrayKey($array, $keys) {
    // 将传入的键名转化为数组
    $keys = array_flip((array) $keys);
    // 比较两个数组的键,返回新数组
    $result = array_intersect_key($keys, $array);
    // 判断键值是否相同,如果键值相同则说明数组中拥有该键值
    return count($result) == count($keys);
}

// 示例使用
$myArray = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
echo checkArrayKey($myArray, "a") ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["a", "b"]) ? "存在" : "不存在";  // 输出:存在
echo checkArrayKey($myArray, ["d", "e"]) ? "存在" : "不存在";  // 输出:不存在

In the above code, $myArray is the incoming array parameter. The checkArrayKey() function is used to determine whether the array has the specified key value, and determines whether the specified key value exists based on the return value. Returns true if it exists, false otherwise.

  1. Compare the common key names in multiple arrays

The array_intersect_key() function can be used to compare the common key names in multiple arrays.

// 示例使用
$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS", "d" => "JavaScript");
$array2 = array("a" => "PHP", "e" => "Python", "f" => "C++", "d" => "JavaScript");
$array3 = array("a" => "PHP", "c" => "CSS", "g" => "Ruby", "d" => "JavaScript");

// 比较多个数组的公共键名
$result = call_user_func_array("array_intersect_key", array($array1, $array2, $array3)); 
print_r($result);  // 输出:Array ( [a] => PHP [d] => JavaScript )

In the above code, $array1, $array2, and $array3 are the three array parameters passed in. By using the call_user_func_array() function, these three arrays can be passed to the array_intersect_key() function for comparison. Common key names for multiple arrays. The final result contains only elements whose key names exist in all three arrays.

4. Summary

Through the introduction of this article, I believe that readers have already understood the basic syntax and application method of the array_intersect_key() function. In actual development, if you need to compare common key names in multiple arrays or determine whether an array has a specified key value, you can use this function to easily implement it.

The above is the detailed content of Introduction to the usage of PHP's array_intersect_key() function. 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