>  기사  >  백엔드 개발  >  PHP array_diff_key() 함수 사용법에 대한 자세한 설명

PHP array_diff_key() 함수 사용법에 대한 자세한 설명

WBOY
WBOY원래의
2023-06-27 09:23:571978검색

PHP에서 배열은 매우 일반적인 데이터 유형입니다. 많은 경우 서로 다른 배열을 비교하고 처리해야 합니다. PHP의 array_diff_key() 함수는 매우 편리하게 두 개 이상의 배열에 있는 키 값을 비교하고 배열 간의 차이 처리를 구현할 수 있습니다. 이번 글에서는 PHP array_diff_key() 함수의 사용법과 예제를 자세히 소개하겠습니다.

1. array_diff_key() 함수 소개

array_diff_key() 함수는 PHP에 내장된 함수 중 하나입니다. 그 기능은 첫 번째 배열에는 존재하지만 하나 이상의 후속 배열에는 존재하지 않는 키를 찾고 이러한 키로 구성된 배열을 반환하는 것입니다.

이 함수의 구문은 다음과 같습니다.

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

그 중 array1 은 비교해야 할 원래 배열이고 array2 비교해야 하는 대상 배열입니다. 세 번째 배열이 제공되면 함수는 이 배열과 계속 비교하며 마지막 배열까지 계속 비교합니다.

2. array_diff_key() 함수

array_diff_key() 함수의 반환 값은 배열에 존재하지만 하나 이상의 후속 배열에는 존재하지 않는 키 이름을 저장합니다. 반환된 배열은 원래 배열의 키 이름이고, 반환된 배열의 키 값은 원래 배열의 키 값입니다.

원래 배열과 대상 배열이 정확히 동일한 경우 array_diff_key() 함수는 빈 배열을 반환합니다.

3. array_diff_key() 함수의 사용 예

다음으로 몇 가지 예를 통해 array_diff_key() 함수의 사용법을 보여드리겠습니다.

  1. 예제 1

아래와 같이 원본 배열 $firstArray와 대상 배열 $targetArray가 있다고 가정합니다.

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray = array('age'=>20, 'hobby'=>'sport');

이제 $firstArray에는 있지만 $targetArray에는 없는 키 이름을 찾고 싶습니다. 다음 코드를 사용할 수 있습니다.

$result = array_diff_key($firstArray, $targetArray);
print_r($result);

실행 출력은 다음과 같습니다.

Array
(
    [name] => Tom
    [sex] => male
)

여기서 $firstArray에는 있지만 $targetArray에는 없는 키 이름에 'name'과 'sex'가 포함되어 있음을 알 수 있습니다. 배열에 반환됨 다음 키 이름만 포함됩니다.

  1. 예제 2

아래와 같이 여러 배열의 키 값을 동시에 비교할 수도 있습니다.

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

실행 출력은 다음과 같습니다.

Array
(
    [age] => 25
    [sex] => male
)

마찬가지로 이 함수는 일치하는 모든 키 이름을 찾습니다. $firstArray 이지만 후속 대상 배열에는 존재하지 않으며 이러한 키 이름을 포함하는 배열을 반환합니다.

  1. 예 3

다음과 같이 루프를 사용하여 여러 배열을 비교할 수도 있습니다.

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

실행 출력 결과는 다음과 같습니다.

Array
(
    [sex] => male
    [hobby] => reading
)

여기서 루프를 사용하여 여러 배열을 비교합니다. 먼저 결과 배열 원본 배열 $firstArray로 초기화된 후 모든 대상 배열을 하나씩 비교하고 array_diff_key() 함수를 사용하여 대상 배열에 존재하지 않는 모든 키 이름을 찾습니다.

4. 요약

위의 예를 통해 array_diff_key() 함수가 매우 간단하고 실용적이며 여러 배열 간의 비교 및 ​​차이 처리를 쉽게 수행하는 데 도움이 된다는 것을 알 수 있습니다. 즉, 이 함수의 사용법을 익히면 PHP에서 배열을 더 잘 처리하고 관리하는 데 도움이 됩니다.

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

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