PHP 프로그래밍에서 배열 작업은 가장 일반적인 작업 중 하나입니다. 특히 다차원 배열을 처리하거나 키 값 쌍을 필터링 할 때 PHP는 이러한 유형의 작동을 단순화하기위한 많은 기능을 제공합니다. 그중에서도 array_fill_keys 및 array_intersect_key 함수는 특히 특정 키를 필터링 해야하는 경우 주요 필터링을 효율적으로 수행하는 데 도움이 될 수 있습니다. 코드의 가독성 및 실행 효율성을 크게 향상시킬 수 있습니다.
array_fill_keys
이 함수는 키가 지정된 배열의 값인 새 배열을 생성하고 모든 키에 해당하는 값은 동일한 값으로 채워집니다. 이 기능은 특정 키로 새 배열을 초기화하는 데 매우 적합합니다.
array_fill_keys(array $keys, mixed $value): array
$ 키 : 새 배열에서 사용하려는 키를 나타내는 키 배열.
$ 값 : 각 키에 해당하는 값.
이 함수는 지정된 배열과 동일한 키를 가진 원래 배열에 요소가 포함 된 배열을 반환합니다. 큰 배열에서 필요한 키 값 쌍을 추출하는 데 적합합니다.
array_intersect_key(array $array1, array $array2): array
$ array1 : 원래 배열.
$ array2 : 원래 배열과 일치하는 데 키가 사용되는 배열.
많은 수의 키가 포함 된 여러 사용자 정보 배열이 있다고 가정하고 특정 키 만 유지하려고합니다. 전통적인 접근 방식은 Foreach를 사용하여 배열을 가로 지르고 조건부 판단을하는 것입니다. Array_fill_Keys 및 Array_Intersect_Keys를 사용하면 코드가 더 간결하고 효율적으로 만들 수 있습니다.
사용자 정보가 포함 된 배열이 있다고 가정합니다.
$user_info = [
'name' => 'John',
'email' => 'john@example.com',
'age' => 30,
'address' => '123 Main St',
'phone' => '123-456-7890'
];
우리는 사용자 이름 , 이메일 및 연령 에만 관심이 있으며 다른 키 ( 주소 및 전화 와 같은)는 필요하지 않습니다. 다음은 Array_Fill_Keys 및 Array_Intersect_key를 통해 키 필터링을 구현하는 방법을 보여줍니다.
// 유지 될 키
$keys_to_keep = ['name', 'email', 'age'];
// 필요한 키가 포함 된 새 배열을 만듭니다,가치는입니다 null
$empty_keys = array_fill_keys($keys_to_keep, null);
// 사용 array_intersect_key 불필요한 키를 필터링하십시오
$filtered_user_info = array_intersect_key($user_info, $empty_keys);
print_r($filtered_user_info);
Array
(
[name] => John
[email] => john@example.com
[age] => 30
)
Array_Fill_Keys ($ keys_to_keep, null)를 사용하여 새 배열 을 작성하십시오 . 이 배열의 기능은 키를 필터링하기위한 템플릿 역할을하는 것입니다.
array_intersect_key ($ user_info, $ empty_keys)를 사용하여 $ user_info 배열에서 $ emply_keys 와 동일한 요소를 유지하여 불필요한 키를 필터링합니다.
이 방법의 장점은 다음과 같습니다.
Foreach 루프를 사용할 필요가 없습니다.
키 필터링은 매우 간결하게 달성 될 수 있습니다.
배열이 크면 Array_intersect_key 의 성능은 Foreach 루프보다 효율적입니다.
배열에서 키를 필터링하는 것 외에도 Array_Intersect_key를 사용하여 여러 배열에서 공통 키를 필터링 할 수도 있습니다. 사용자 정보가 포함 된 두 개의 배열이 있고 다른 하나는 관리자 권한 정보가 포함되어 있다고 가정하자 array_intersect_key를 사용하여 두 배열에서 동일한 키를 얻을 수 있습니다.
$user_info = [
'name' => 'John',
'email' => 'john@example.com',
'age' => 30,
'address' => '123 Main St',
'phone' => '123-456-7890'
];
$admin_info = [
'name' => 'John',
'email' => 'john@example.com',
'role' => 'admin'
];
// 두 배열의 공통 키를 얻으십시오
$common_keys = array_intersect_key($user_info, $admin_info);
print_r($common_keys);
Array
(
[name] => John
[email] => john@example.com
)
Array_intersect_key는 두 배열의 키를 비교하고 동일한 키로 요소를 반환합니다.
Array_Fill_Keys 와 Array_Intersect_Keys를 결합하면 Array 키 필터링을 매우 효율적으로 사용할 수 있습니다. 이 방법은 코드의 가독성을 향상시킬뿐만 아니라 많은 양의 데이터를 처리 할 때 더 나은 성능을 제공합니다. 하나의 배열에서 키를 필터링하든 여러 배열에서 공통 키를 추출하든 두 기능 모두 편의성을 제공합니다.
이 기사 가이 두 기능을 사용하여 효율적인 주요 필터링 작업을 수행하고 PHP 프로그래밍 기능을 향상시키는 방법을 이해하는 데 도움이되기를 바랍니다.