현재 위치: > 최신 기사 목록> Array_Fill_Keys + Array_Map : 연관 배열을 신속하게 구성합니다

Array_Fill_Keys + Array_Map : 연관 배열을 신속하게 구성합니다

M66 2025-06-06

PHP에서 배열은 매우 중요한 데이터 구조이며, 연관 배열은 일상 개발에서 일반적으로 사용되는 형태입니다. 여러 번, 특정 규칙에 따라 연관 배열을 신속하게 구성해야합니다. PHP의 두 가지 함수 array_fill_keys ()array_map () 는이 작업을 효율적으로 완료하는 데 매우 영리하게 사용될 수 있습니다.

1. Array_fill_Keys 소개 ()

Array_Fill_Keys () 는 지정된 키를 기반으로 동일한 값으로 채워진 연관 배열을 생성하는 매우 편리한 PHP 기능입니다. 그 정의는 다음과 같습니다.

 array array_fill_keys ( array $keys , mixed $value )
  • $ 키 : 키 이름의 배열.

  • $ 값 : 각 키의 해당 값을 채우십시오.

예를 들어, 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
)

2. array_map () 소개

Array_Map ()은 배열의 각 요소에 콜백 함수를 적용하고 새 배열을 반환하는 매우 일반적으로 사용되는 PHP 함수입니다. 그 정의는 다음과 같습니다.

 array array_map ( callable $callback , array $array1 [, array $array2 [, array $... ]] )
  • $ 콜백 : 배열의 각 요소에서 작업을 수행하는 콜백 함수.

  • $ array1 : 배열을 입력하면 여러 배열 매개 변수가있을 수 있으며 콜백 함수 가이 배열에 차례로 작동합니다.

예를 들어 배열의 각 값을 처리 할 수 ​​있습니다.

 $numbers = [1, 2, 3, 4];
$squared = array_map(function($num) {
    return $num * $num;
}, $numbers);

print_r($squared);

출력 결과 :

 Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
)

3. array_fill_keys ()array_map ()을 조합하여 사용하십시오

키 이름 세트가 포함 된 배열이 있고 각 키에 대해 하나의 값을 생성하려고한다고 가정 해 봅시다.이 값은 다른 배열에서 나오고 이러한 값에는 일부 처리가 필요하다고 가정합니다. Array_Fill_Keys ()Array_Map ()을 결합 하여이 작업을 매우 효율적으로 수행 할 수 있습니다.

예를 들어, 여러 제품 이름 배열이 있다고 가정하고 각 제품에 대한 초기 가격을 설정하려고하며 특정 규칙에 따라 가격을 조정해야합니다.

 $keys = ['product1', 'product2', 'product3'];
$prices = [10, 20, 30];

// 사용array_fill_keys각 항목에 대한 초기 가격을 생성합니다
$initialPrices = array_fill_keys($keys, null);

// 사용array_map가격을 조정하십시오
$adjustedPrices = array_map(function($price) {
    return $price * 1.2;  // 예를 들어, 우리는 추가합니다20%가격
}, $prices);

// 将调整后가격与商品键关联
$finalPrices = array_combine($keys, $adjustedPrices);

print_r($finalPrices);

출력 결과 :

 Array
(
    [product1] => 12
    [product2] => 24
    [product3] => 36
)

4. 시나리오를 사용하십시오

이 결합 된 방법은 특히 배치로 작동하는 데 많은 양의 데이터가 필요한 시나리오에 적합합니다. 예를 들어:

  • 데이터베이스에서 제품 이름을 얻고 가격을 생성하고 할인을 적용하십시오.

  • 구성 배열을 생성하고 사용자 세트가 입력 한 설정에 따라 처리합니다.

  • 다중 데이터 세트를 매핑하고 동일한 키 이름으로 연관 배열을 반환합니다.

이 접근법의 장점은 다음과 같습니다.

  1. 간결한 : 중복 코드 로직을 피하십시오.

  2. Flexible : array_map ()은 사용자 정의 콜백 함수를 통해 데이터를 유연하게 조정할 수 있습니다.

  3. 효율성 : 두 기능의 조합은 코드의 양을 효과적으로 줄이고 개발 효율성을 향상시킬 수 있습니다.

5. 주목할만한 것들

  • Array_Fill_Keys () 에 의해 생성 된 배열의 모든 값은 동일한 값으로 초기화됩니다. 다른 규칙에 따라 값을 생성 해야하는 경우 array_map () 와 함께 값을 사용하는 것을 고려할 수 있습니다.

  • Array_combine () 함수는 두 개의 배열을 연관 배열로 결합하는 데 사용되며, 조정 된 가격을 제품 이름과 연결하는 데 사용됩니다.

6. 요약

Array_Fill_Keys ()Array_Map ()을 결합하여 연관 배열의 구성 및 수정을 매우 간결하고 효율적으로 처리 할 수 ​​있습니다. 데이터 처리 또는 특정 구조 배열의 배치 생성에 관계 없이이 두 기능의 조합은 코드를 크게 단순화 할 수 있습니다.