현재 위치: > 최신 기사 목록> Array_Column 및 Array_Filter를 사용하여 지정된 기준에 대한 열을 얻으십시오.

Array_Column 및 Array_Filter를 사용하여 지정된 기준에 대한 열을 얻으십시오.

M66 2025-05-11

PHP에서 Array_ColumnArray_Filter 기능은 배열 데이터를 처리 할 때 특히 특정 기준을 충족하는 2 차원 배열에서 지정된 열 데이터를 추출해야 할 때 매우 유용한 도구입니다. 이 기사는이 두 기능을 사용하여이를 달성하는 방법을 설명합니다.

array_column 함수 소개

Array_Column 함수는 다차원 배열에서 열 값을 추출하고 새 배열을 반환하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

 array_column(array $array, $column_key, $index_key = null): array
  • $ 배열 : 입력 다차원 배열.

  • $ column_key : 추출하려는 열의 키 이름입니다.

  • $ index_key (선택 사항) :이 매개 변수가 제공되면 반환 된 배열은이 키를 새 배열의 키로 사용합니다.

예를 들어, 다음과 같은 2 차원 배열이 있다고 가정합니다.

 $data = [
    ['id' => 1, 'name' => 'John', 'age' => 25],
    ['id' => 2, 'name' => 'Jane', 'age' => 30],
    ['id' => 3, 'name' => 'Joe', 'age' => 22],
];

Array_Column 함수를 통해 모든 사용자의 이름 열을 추출 할 수 있습니다.

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

출력은 다음과 같습니다.

 Array
(
    [0] => John
    [1] => Jane
    [2] => Joe
)

Array_Filter 기능 소개

Array_Filter 함수는 기준을 충족하는 배열 및 반환 요소의 요소를 필터링하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ 배열 : 입력 배열.

  • $ 콜백 : 콜백 함수, 배열 조건을 필터링하는 데 사용됩니다.

  • $ mode (선택 사항) : 필터링 모드, array_filter_use_key는 키 필터링, Array_filter_use_both 키 및 값 필터링, 기본 필터링에 사용됩니다.

이전 배열에서 24 세 이상의 사용자를 필터링하고 싶다고 가정하고 콜백 함수와 함께 Array_Filter를 사용할 수 있다고 가정 해 봅시다.

 $filteredData = array_filter($data, function($person) {
    return $person['age'] > 24;
});
print_r($filteredData);

출력은 다음과 같습니다.

 Array
(
    [1] => Array
        (
            [id] => 2
            [name] => Jane
            [age] => 30
        )
    [0] => Array
        (
            [id] => 1
            [name] => John
            [age] => 25
        )
)

Array_ColumnArray_Filter를 결합하여 기준을 충족하는 지정된 열 데이터를 추출합니다.

Array_ColumnArray_Filter를 결합하여 특정 조건을 충족하는 지정된 열 데이터를 추출하려면 먼저 Array_Filter 기능을 사용하여 배열을 필터링 한 다음 Array_Column 함수를 사용하여 해당 열을 추출 할 수 있습니다.

예를 들어, 24 세 이상의 모든 사용자의 이름 열을 찾아야한다고 가정 해 봅시다.

 $filteredNames = array_column(
    array_filter($data, function($person) {
        return $person['age'] > 24;
    }),
    'name'
);

print_r($filteredNames);

출력은 다음과 같습니다.

 Array
(
    [0] => John
    [1] => Jane
)

이 예제는 먼저 데이터 ( Array_Filter )를 필터링 한 다음 필요한 열 ( Array_Column )을 추출하여 기준을 충족하는 데이터를 얻는 방법을 보여줍니다.

예 : Array_ColumnArray_Filter 와 함께 URL에서 데이터 가져 오기

데이터 소스가 API 또는 웹 사이트에서 반환 된 결과 인 경우 반환 된 데이터는 일반적으로 여러 요소를 포함하는 JSON 객체입니다. 예를 들어, https://api.m66.net/users 에서 사용자 데이터를 받고 특정 기준 (예 : 24 세 이상)을 충족하는 사용자 이름에만 관심이 있다고 가정합니다. 당신은 다음과 같이 할 수 있습니다 :

 $url = "https://api.m66.net/users";
$response = file_get_contents($url);
$data = json_decode($response, true);

$filteredNames = array_column(
    array_filter($data, function($person) {
        return $person['age'] > 24;
    }),
    'name'
);

print_r($filteredNames);

이 예에서 먼저, 사용자 데이터는 m66.net 에서 file_get_contents 에서 얻어지면 array_filter는 24 세 이상의 사용자를 필터링하는 데 사용되며 마지막으로 이름 열은 Array_Column을 통해 추출됩니다.

Array_ColumnArray_Filter 함수의 조합으로 복잡한 2 차원 배열에서 기준을 충족하는 특정 열 데이터를 쉽게 추출 할 수 있습니다. 이 방법은 API, 데이터베이스 쿼리 결과 등에 의해 반환 된 데이터를 처리하는 데 매우 유용하며 데이터 처리의 복잡성을 크게 단순화 할 수 있습니다.