>  기사  >  백엔드 개발  >  PHP의 array_intersect_key() 함수 사용법 소개

PHP의 array_intersect_key() 함수 사용법 소개

王林
王林원래의
2023-06-26 23:51:091778검색

PHP의 array_intersect_key() 함수는 매우 실용적인 함수입니다. 이 함수의 주요 기능은 두 개 이상의 배열의 키를 비교하고 주어진 모든 배열 요소의 키 이름만 포함하는 새 배열을 반환하는 것입니다. 이 글에서는 array_intersect_key() 함수의 기본 구문과 사용법을 소개합니다.

1 array_intersect_key() 함수의 기본 구문

PHP에서 array_intersect_key() 함수의 기본 구문은 다음과 같습니다.

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

그 중 $array1, $array2 등이 전달되는 다양한 배열 매개변수입니다. 안에.

2. array_intersect_key() 함수 사용법

  1. 단 하나의 매개변수만 전달됩니다

단 하나의 매개변수만 전달되면 array_intersect_key() 함수는 이를 처리하지 않고 바로 빈 배열을 반환합니다.

$array1 = array("a" => "PHP", "b" => "HTML", "c" => "CSS");
$result = array_intersect_key($array1);
print_r($result);  // 输出:Array()
  1. 두 개의 매개변수 전달

두 개의 매개변수 전달 시 array_intersect_key() 함수는 두 배열의 키를 비교하고 주어진 모든 배열 요소에 존재하는 키 이름만 포함하는 새 배열을 반환합니다.

$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 )

위 코드에서 $array1과 $array2는 전달된 두 배열 매개변수이고 $result는 함수가 반환한 새 배열입니다. 이 배열에는 두 배열 모두에 키 이름이 존재하는 요소만 포함됩니다.

  1. 3개 이상의 매개변수 전달

3개 이상의 매개변수를 전달할 때 array_intersect_key() 함수는 하나 이상의 배열 매개변수가 전달된다는 점을 제외하면 두 개의 매개변수를 전달할 때와 동일합니다.

$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 )

위 코드에서 $array1, $array2, $array3은 전달된 세 개의 매개변수이고 $result는 함수가 반환한 새 배열입니다. 이 배열에는 지정된 모든 배열에 키 이름이 존재하는 요소만 포함됩니다.

3. array_intersect_key() 함수의 적용 예

  1. 배열에 지정된 키 값이 있는지 확인

array_intersect_key() 함수를 사용하면 배열에 지정된 키 값이 있는지 확인할 수 있습니다.

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"]) ? "存在" : "不存在";  // 输出:不存在

위 코드에서 $myArray는 들어오는 배열 매개변수입니다. checkArrayKey() 함수는 배열에 지정된 키 값이 있는지 확인하고, 반환 값을 기반으로 지정된 키 값이 존재하는지 확인하는 데 사용됩니다. 존재하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

  1. 여러 배열의 공통 키 이름 비교

array_intersect_key() 함수를 통해 여러 배열의 공통 키 이름을 비교할 수 있습니다.

// 示例使用
$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 )

위 코드에서 $array1, $array2, $array3은 전달된 3개의 배열 매개변수입니다. 이 3개의 배열은 비교에 사용되는 call_user_func_array() 함수를 사용하여 array_intersect_key() 함수에 전달할 수 있습니다. 여러 배열. 공개 키 이름. 최종 결과에는 키 이름이 세 배열 모두에 존재하는 요소만 포함됩니다.

4. 요약

이 글의 서문을 통해 독자들은 이미 array_intersect_key() 함수의 기본 구문과 적용 방법을 이해했다고 생각합니다. 실제 개발 시 여러 배열의 공통 키 이름을 비교해야 하거나 배열에 지정된 키 값이 있는지 확인해야 하는 경우 이 기능을 사용하면 쉽게 구현할 수 있습니다.

위 내용은 PHP의 array_intersect_key() 함수 사용법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.