php에서 array_diff_key ()는 두 배열의 키 이름을 비교하고 첫 번째 배열에 존재하지만 두 번째 배열에는 있지 않은 키 이름을 반환하는 데 사용할 수있는 매우 실용적인 기능입니다. 일부 시나리오에서는 필터링 된 어레이를 얻을 필요가있을뿐만 아니라 필터링 된 키 이름을 얻을 수 있기를 희망합니다. 이 기사는이 기능을 구현하는 방법을 설명합니다.
array_diff_key () 함수의 기본 사용량은 다음과 같습니다.
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
$array2 = [
'b' => 5,
'd' => 6
];
$result = array_diff_key($array1, $array2);
print_r($result);
출력 결과 :
Array
(
[a] => 1
[c] => 3
)
위의 예에서 볼 수 있듯이 Array_Diff_Key ()는 $ array2 에 표시되지 않는 $ array1 에서 키 값 쌍을 반환합니다. 그러나 필터링 된 키 이름, 즉 $ array1 에 존재하지만 $ array2 에 표시되지 않은 이름을 얻으려면 추가 처리를 수행해야합니다.
필터링 된 키 이름을 얻으려면 먼저 Array_Diff_Key ()를 사용하여 결과를 얻은 다음 두 배열의 키 이름을 비교하여 제거 된 키 이름을 찾을 수 있습니다.
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
$array2 = [
'b' => 5,
'd' => 6
];
// 필터링 된 배열을 가져옵니다
$result = array_diff_key($array1, $array2);
// 필터링 된 키 이름을 얻습니다
$filteredKeys = array_keys($array1);
$remainingKeys = array_keys($result);
$removedKeys = array_diff($filteredKeys, $remainingKeys);
echo "필터링 된 키 이름: ";
print_r($removedKeys);
출력 결과 :
필터링 된 키 이름: Array
(
[0] => a
[1] => c
)
이러한 방식으로 Array_Diff_Key ()를 사용할 때 필터링 된 키 이름을 인쇄 할 수 있습니다. 구체적인 방법은 먼저 $ array1 에서 모든 키 이름을 얻은 다음 Array_Diff ()를 사용하여 $ 결과가 아닌 키 이름을 찾아서 마지막으로 필터링 된 키 이름을 얻는 것입니다.
위의 예를 통해 Array_Diff_Key ()를 사용하여 키 이름을 비교하고 키 이름을 필터링하는 방법을 알 수 있습니다. 이 작업은 특히 배열 데이터를 청소하고 비교할 때 PHP에서 매우 일반적입니다. 필터링 된 키 이름을 유지하려면이 기사의 메소드를 참조하여이를 달성 할 수 있습니다.