PHP 프로그래밍에서 Array_combine () 및 array_fill_keys ()는 배열을 처리 할 때 도움이 될 수있는 매우 유용한 기능입니다. 그러나 사용 시나리오와 구현 방법은 다릅니다. 이 기사는이 두 기능의 차이점을 자세히 살펴보고 일부 경우 Code 유연성 및 효율성을 향상시키기 위해 Array_combine () 대신 Array_fill_Keys () 를 사용하는 방법을 소개합니다.
Array_combine () 은 새로운 연관 배열을 생성하는 PHP의 내장 함수 중 하나입니다. 이 기능에는 두 가지 매개 변수가 필요합니다.
키 : 키 이름을 포함하는 배열
값 : 값이 포함 된 배열
Array_combine ()은 키 어레이의 키 이름으로 키 어레이의 요소와 값 배열의 요소를 값으로 사용하여 새 배열을 반환합니다.
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
print_r($result);
Array
(
[a] => 1
[b] => 2
[c] => 3
)
이 예에서 Array_combine ()은 $ 키 어레이의 요소를 배열의 키로 사용하고 $ 값 배열의 요소를 해당 값으로 사용하여 새로운 연관 배열을 만듭니다.
array_fill_keys () 및 array_combine () 의 함수는 비슷해 보이지만 분명히 다릅니다. Array_Fill_Keys () 는 주로 주어진 키 어레이를 통해 동일한 값으로 새로운 연관 배열을 채우는 데 주로 사용됩니다. 구문은 다음과 같습니다.
array_fill_keys(array $keys, mixed $value): array
키 : 키 이름을 포함하는 배열
값 : 각 키의 해당 값을 채우는 데 사용됩니다.
$keys = ['a', 'b', 'c'];
$value = 100;
$result = array_fill_keys($keys, $value);
print_r($result);
Array
(
[a] => 100
[b] => 100
[c] => 100
)
Array_combine () 과 달리 Array_Fill_Keys ()는 값 배열을 여러 키와 결합하는 대신 각 키에서 동일한 값을 채 웁니다.
Array_combine ()을 Array_Fill_Keys () 로 바꾸려면 차이점을 이해해야합니다. Array_combine () 에는 두 개의 배열이 필요하며 하나는 키를 제공하고 다른 하나는 값을 제공합니다. Array_Fill_Keys ()는 다양한 키와 단일 값 만 있으면됩니다.
경우에 따라 키 배열이 이미 있고 모든 키를 고정 값으로 채우려는 경우 Array_combine () 대신 Array_Fill_Keys () 를 사용할 수 있습니다.
키 [ 'a', 'b', 'c']를 값 [1, 2, 3] 과 연결하는 배열을 만들어야한다고 가정 해 봅시다. Array_combine ()을 사용한 코드는 다음과 같습니다.
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$result = array_combine($keys, $values);
그러나이 값을 일부 고정 값 (예 : 0 )으로 채워야하는 경우 Array_Fill_Keys ()를 사용할 수 있습니다.
$keys = ['a', 'b', 'c'];
$result = array_fill_keys($keys, 0);
print_r($result);
Array
(
[a] => 0
[b] => 0
[c] => 0
)
Array_combine ()은 두 개의 배열을 연관 배열로 결합하는 데 사용되며 키와 값은 다른 배열에서 나옵니다.
Array_Fill_Keys ()는 값이 통합 된 시나리오에 적합한 모든 지정된 키에 동일한 값을 할당하는 데 사용됩니다.
같은 길이의 배열 : array_combine () 은 키와 값의 배열이 같은 길이를 가져야합니다. 길이가 다른 경우 경고가 발생하고 거짓이 반환됩니다.
$keys = ['a', 'b'];
$values = [1, 2, 3];
$result = array_combine($keys, $values); // 이것은 잘못 될 것입니다
array_fill_keys () 의 단순성 : 각 키에 대해 동일한 값을 설정 해야하는 경우 단일 값 배열을 준비 할 필요없이 Array_Fill_Keys ()를 사용하는 것이 더 쉽습니다.
성능 고려 사항 : 성능 측면에서 Array_Fill_Keys ()는 Array_combine () 보다 효율적일 수 있습니다. 특히 값이 동일 할 때 모든 키를 채우기 위해 하나의 값 만 제공하면됩니다.
빈 배열 처리 : 입력 배열이 비어 있으면 Array_combine ()가 False를 반환하고 Array_Fill_Keys ()는 빈 배열을 반환합니다.
Array_combine () 및 array_fill_keys ()는 유사성이있는 것처럼 보이지만 기능과 사용 시나리오가 다릅니다. 두 배열을 연관 배열로 결합 해야하는 경우 array_combine ()을 사용하는 것이 더 적절합니다. 또한 동일한 값을 여러 키에 할당해야 할 때 Array_Fill_Keys ()는 더 간단한 선택입니다.
이 두 기능의 차이점과 사용 기술을 습득하면 PHP 프로그래밍에서 더 편안해질 수 있습니다.