PHP는 많은 수의 배열 작동 기능을 제공하며, 그중에는 Array_column 과 Array_walk 가 매우 일반적으로 사용되는 두 가지 기능으로, 다른 시나리오에서 중요한 역할을합니다. 이들은 모두 배열 작업과 관련이 있지만 기능에는 상당한 차이가 있습니다. 이 기사에서는 Array_Column 과 Array_walk 의 차이점을 자세히 살펴보고 어떤 응용 프로그램 시나리오에 적합한 지에 대해 논의 할 것입니다.
Array_Column 은 PHP 5.5에 도입되어 2 차원 배열에서 열에서 데이터를 추출하고 열의 모든 값을 포함하는 배열을 반환합니다. 일반적으로 컬럼의 모든 요소를 다차원 배열에서 추출하고 코드 구조를 단순화하며 코드의 가독성을 향상시키는 데 사용됩니다.
기능 프로토 타입 :
array array_column ( array $array , mixed $column_key [, mixed $index_key = null ] )
매개 변수 설명 :
$ 배열 : 다차원 배열 작동.
$ column_key : 추출 할 열 이름 또는 열 인덱스를 지정합니다.
$ index_key : 선택 사항, 리턴 배열 인덱스로 사용되는 열을 지정합니다. 기본값은 NULL 입니다.
샘플 코드 :
$data = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Charlie', 'age' => 35]
];
$names = array_column($data, 'name');
print_r($names);
산출:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
응용 프로그램 시나리오 :
Array_Column은 모든 사용자 이름 추출, 모든 주문 금액 추출 등과 같은 구조화 된 2 차원 배열에서 데이터 열을 추출하는 데 이상적입니다.
특히 복잡한 배열에서 특정 데이터를 추출 해야하는 경우 데이터 필터링 및 콜레이션이 필요한 시나리오에 종종 사용됩니다.
Array_walk 는 PHP의 함수로 배열을 반복하고 배열의 각 요소에서 콜백 함수를 실행합니다. Array_Column 과 달리 Array_Walk는 새 배열을 반환하지 않지만 원래 배열의 요소를 직접 수정합니다.
기능 프로토 타입 :
bool array_walk ( array &$array , callable $callback [, mixed $userdata = null ] )
매개 변수 설명 :
$ 배열 : 트래버 해야하는 배열.
$ 콜백 : 각 요소에서 실행 된 콜백 함수.
$ userData : 선택 사항, 추가 매개 변수가 콜백 함수로 전달되었습니다.
샘플 코드 :
$data = ['apple', 'banana', 'cherry'];
array_walk($data, function(&$item) {
$item = strtoupper($item);
});
print_r($data);
산출:
Array
(
[0] => APPLE
[1] => BANANA
[2] => CHERRY
)
응용 프로그램 시나리오 :
Array_walk는 배열을 가로 지르고 수정하거나 특정 작업을 수행하는 데 적합합니다. 예를 들어, 배열의 모든 문자열 요소를 대문자로 변환하거나 일부 규칙에 따라 배열 요소를 업데이트하려면 Array_Walk를 사용할 수 있습니다.
양식 데이터를 처리하거나 배열을 배치 할 때 특히 원래 배열을 수정해야 할 때 사용하기에 좋습니다.
특성 | array_column | Array_walk |
---|---|---|
기능 | 다차원 배열에서 열에서 데이터를 추출합니다 | 배열을 통해 반복하고 각 요소에서 콜백 함수를 실행하십시오. |
반환 값 | 추출 된 열 데이터가 포함 된 새 배열을 반환합니다 | 부울 값을 반환하여 작업이 성공했는지 여부를 나타냅니다. |
원래 배열이 수정되었는지 여부 | 원래 배열은 수정되지 않습니다 | 원래 배열을 직접 수정합니다 |
시나리오를 사용하십시오 | 다차원 배열에서 데이터를 추출합니다 | 다른 작업을 수정하거나 수행하기 위해 배열을 통해 반복 |
Array_Column은 다차원 배열에서 데이터 열을 추출 해야하는 시나리오에 적합합니다. 특히 배열의 열 내용에만 관심이있는 경우. 이로 인해 수동 루프 트래버스를 피하면서 코드를보다 간결하고 이해하기 쉽습니다.
Array_walk는 배열의 각 요소를 조작 해야하는 시나리오에 적합합니다. 새 배열을 반환 할 필요가없고 원래 배열을 직접 수정하는 경우 특히 사용하기에 적합합니다.
PHP에서는 array_column 및 array_walk 마다 서로 다른 용도가 있습니다. Array_Column 은 주로 배열에서 특정 열을 추출하는 데 사용되는 반면 Array_Walk는 배열을 반복하고 원래 배열의 요소를 수정하는 데 사용됩니다. 실제 요구에 따라 올바른 기능을 선택하면 코드의 가독성과 실행 효율이 크게 향상 될 수 있습니다.