현재 위치: > 최신 기사 목록> PHP에서 배열 필드 추출을위한 여러 방법 비교

PHP에서 배열 필드 추출을위한 여러 방법 비교

M66 2025-05-12

PHP 개발에서 배열 작업은 매우 일반적인 작업 중 하나입니다. 특히 배열에서 지정된 필드에서 데이터를 추출 할 때 여러 가지 구현이 발생할 수 있습니다. 이 기사는 일반적으로 사용되는 몇 가지 일반적으로 사용되는 배열 필드 추출 방법을 소개하고 비교 및 ​​분석을 수행하여 개발자가 특정 시나리오를 기반으로 최상의 솔루션을 선택할 수 있도록 도와줍니다.

1. Array_Column () 함수를 사용하십시오

Array_Column () 은 다차원 배열에서 지정된 열 (필드)을 추출하기위한 PHP에서 매우 편리한 기능입니다.

예:

 $array = [
    ['id' => 1, 'name' => 'Tom', 'age' => 25],
    ['id' => 2, 'name' => 'Jerry', 'age' => 22],
    ['id' => 3, 'name' => 'Spike', 'age' => 30]
];

$names = array_column($array, 'name');
print_r($names);

산출:

 Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Spike
)

시나리오 사용 :

  • 적용 가능한 시나리오 : 배열이 연관 배열이고 필드 중 하나만 추출하면 array_column ()은 매우 간결하고 효율적인 방법입니다.

  • 제한 :이 기능은 치수가 높은 2 차원 배열 또는 배열에만 적용됩니다.

2. Array_Map () 함수를 사용하십시오

Array_Map ()은 배열의 각 요소에 콜백 함수를 적용 할 수 있으므로 배열에서 지정된 필드의 값을 추출하는 데 사용할 수 있습니다.

예:

 $array = [
    ['id' => 1, 'name' => 'Tom', 'age' => 25],
    ['id' => 2, 'name' => 'Jerry', 'age' => 22],
    ['id' => 3, 'name' => 'Spike', 'age' => 30]
];

$names = array_map(function ($item) {
    return $item['name'];
}, $array);

print_r($names);

산출:

 Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Spike
)

시나리오 사용 :

  • 적용 가능한 시나리오 : Array_Map ()은 배열 요소에서 더 복잡한 작업을 수행하거나 추출 필드가 아닌 더 복잡한 작업을 수행 해야하는 경우 더 많은 유연성을 제공합니다.

  • 제한 : 배열이 클 경우 array_map ()을 사용하는 것은 Array_Column () 보다 약간 덜 효율적일 수 있습니다.

3. Foreach 루프 사용

배열을 통해 루프 를 직접 사용하고 지정된 필드의 값을 수동으로 추출하십시오. 이 방법은 더 유연하지만 코드 볼륨은 비교적 큽니다.

예:

 $array = [
    ['id' => 1, 'name' => 'Tom', 'age' => 25],
    ['id' => 2, 'name' => 'Jerry', 'age' => 22],
    ['id' => 3, 'name' => 'Spike', 'age' => 30]
];

$names = [];
foreach ($array as $item) {
    $names[] = $item['name'];
}

print_r($names);

산출:

 Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Spike
)

시나리오 사용 :

  • 적용 가능한 시나리오 : 더 복잡한 처리를 수행해야 할 때 최대의 유연성을 제공하거나 추출 된 필드에서 추가 작업을 수행하려는 경우 Foreach를 사용하십시오.

  • 제한 사항 :이 방법은 Array_Column () 또는 Array_Map () 에 비해 추가 코드 볼륨을 추가 할 수 있습니다.

4. Array_Walk () 함수를 사용하십시오

Array_Walk ()는 배열을 가로 지르는 데 일반적으로 사용되는 또 다른 기능으로 배열의 각 요소를 처리하고 수정할 수 있습니다. 또한 지정된 필드를 추출하는 데 사용할 수도 있습니다.

예:

 $array = [
    ['id' => 1, 'name' => 'Tom', 'age' => 25],
    ['id' => 2, 'name' => 'Jerry', 'age' => 22],
    ['id' => 3, 'name' => 'Spike', 'age' => 30]
];

$names = [];
array_walk($array, function ($item) use (&$names) {
    $names[] = $item['name'];
});

print_r($names);

산출:

 Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Spike
)

시나리오 사용 :

  • 해당 시나리오 : 원래 배열의 내용을 수정하려면 Array_walk ()가 좋은 선택입니다. 그러나 필드를 추출하면 Array_Column () 이 더 간결하고 효율적입니다.

  • 제한 : Array_Column () , 특히 필드 만 추출 해야하는 시나리오에서는 직관적이지 않습니다.

5. 요약 및 비교

방법 간단 유연성 성능 해당 시나리오
Array_Column () 높은 낮은 빠른 2 차원 배열 또는 다차원 배열의 열 추출에 적합한 간단한 필드 추출
array_map () 가운데 높은 중간 복잡한 처리 또는 멀티 필드 작업이 필요한 경우
foreach 낮은 높은 중간 복잡한 처리가 완료되면 각 요소를 수동으로 작동해야합니다.
Array_Walk () 낮은 높은 중간 배열의 내용을 수정하거나 더 많은 컨트롤이 필요할 때

6. 올바른 방법을 선택하십시오

  • 최적의 성능 : 단순히 특정 필드를 추출하는 경우 Array_Column () 이 간단하고 직접적이며 효율적이기 때문에 최선의 선택입니다.

  • 가장 유연한 : 요구 사항이 복잡 해지면 Array_Map () 또는 Foreach는 더 큰 작동 공간을 제공하며 요구 사항에 따라 콜백 함수를 사용자 정의 할 수 있습니다.

  • 원래 배열을 수정할 때 : array_walk ()는 배열 요소를 수정하는 데 적합하지만 필드를 추출하는 경우 최선의 선택은 아닙니다.


결론

PHP에서 배열 필드를 추출하는 방법에는 여러 가지가 있으며 각 방법에는 해당 시나리오가 있습니다. 실제 개발에서 올바른 도구를 선택하면 코드의 가독성과 효율성을 향상시킬 수 있습니다. 이 기사의 비교를 통해 실제 요구에 따라 최상의 추출 방법을 선택할 수 있다고 생각합니다.