Array_Fill_Keys 함수는 지정된 값으로 배열의 지정된 키를 채우는 데 사용됩니다. 키 이름의 배열과 패딩 값의 두 매개 변수를 수신하여 주어진 배열에서 나오는 키 이름이있는 새 배열과 주어진 패딩 값이라는 값을 반환합니다.
$keys = ['a', 'b', 'c'];
$value = 0;
$result = array_fill_keys($keys, $value);
print_r($result);
산출:
Array
(
[a] => 0
[b] => 0
[c] => 0
)
위의 예에서 A , B 및 C 의 키 이름을 포함하는 배열을 정의하고 Array_fill_Keys를 사용하여 값을 모두 0 으로 설정합니다.
Array_Column 함수는 다차원 배열에서 열 값을 추출하고 이러한 값을 포함하는 배열을 반환하는 데 사용됩니다. 원래 배열, 열의 키 이름 및 선택적 인덱스 키 이름의 세 가지 매개 변수를 허용합니다.
$data = [
['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];
$emails = array_column($data, 'email');
print_r($emails);
산출:
Array
(
[0] => john@m66.net
[1] => jane@m66.net
[2] => doe@m66.net
)
이 예에서는 다차원 배열 $ 데이터 에서 모든 이메일 필드의 값을 추출하여 새로운 배열 $ 이메일 에 저장합니다.
Array_Fill_Keys 와 Array_Column 의 조합은 다차원 배열에서 특정 필드를 추출하고 동일한 기본 값을 제공하는 동일한 기본 값을 제공하면서 새 배열의 키로 사용해야 할 때 매우 효율적입니다. 먼저 Array_Column을 사용하여 필요한 열 데이터를 얻은 다음 Array_Fill_Keys를 사용 하여이 데이터를 기반으로 새 연관 배열을 생성하고 통합 값을 할당 할 수 있습니다.
$data = [
['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];
$names = array_column($data, 'name');
$default_value = 'N/A';
$result = array_fill_keys($names, $default_value);
print_r($result);
산출:
Array
(
[John] => N/A
[Jane] => N/A
[Doe] => N/A
)
이 예에서는 먼저 Array_Column을 사용하여 모든 이름 필드의 값을 추출한 다음 Array_Fill_Keys를 사용 하여이 값을 새 배열의 주요 이름으로 사용하면 모든 값이 'N/A' 로 설정됩니다.
데이터베이스의 사용자 정보가 있고이 사용자의 ID를 키로 사용하고 이메일을 값으로 사용하여 새로운 연관 배열을 생성하려고합니다. 이 경우 array_column 과 array_fill_keys 기능의 조합이 매우 편리합니다.
// 이것이 데이터베이스 쿼리에서 얻은 결과라고 가정합니다.
$db_result = [
['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];
// 발췌 id 그리고 email
$ids = array_column($db_result, 'id');
$emails = array_column($db_result, 'email');
// 사용 id 열쇠로,email 가치로
$user_emails = array_combine($ids, $emails);
print_r($user_emails);
산출:
Array
(
[1] => john@m66.net
[2] => jane@m66.net
[3] => doe@m66.net
)
이 예에서는 먼저 Array_Column을 사용하여 ID 와 이메일 필드의 값을 각각 추출한 다음 array_combine을 통해 id a id a id a vice a value로 id를 가진 새 배열로 병합합니다.
이 기사를 통해 Array_Fill_Keys 와 Array_Column은 PHP에서 두 가지 매우 강력한 배열 처리 기능이라는 것을 알게되었습니다. Array_Fill_Keys는 주어진 키 이름을 기준으로 배열을 채울 수 있으며 Array_Column은 다차원 배열에서 지정된 열의 값을 추출 할 수 있습니다. 이 두 기능을 함께 사용하여 데이터를 효율적으로 처리하고 재구성 할 수 있습니다. 특히 데이터를 빠르게 가져오고 배열 변환을 수행해야 할 때.
실제 사례의 시연을 통해이 두 기능의 사용을 마스터하고 실제 개발에 적용 할 수 있다고 생각합니다. 개발 중에 유사한 배열 처리 문제가 발생하면이 두 기능을 시도하여 코드에 더 많은 효율성과 단순성을 제공합니다.