PHP에서 Array_Column 은 다차원 배열에서 데이터 열을 추출 할 수있는 매우 편리한 기능입니다. 이 기능은 때때로 데이터베이스 쿼리 결과 또는 유사한 데이터를 처리 할 때 SQL 쿼리의 테이블 작업에서 SELECT COL1, COL2를 시뮬레이션 할 수 있습니다.
그렇다면 Array_Column 함수를 사용하여 SQL 쿼리와 같은 효과를 얻는 방법은 무엇입니까? 특정 예제로 설명합시다.
데이터베이스의 결과 쿼리와 유사한 여러 레코드가 포함 된 다음 배열이 있다고 가정합니다.
$data = [
['id' => 1, 'name' => 'Alice', 'age' => 30],
['id' => 2, 'name' => 'Bob', 'age' => 25],
['id' => 3, 'name' => 'Charlie', 'age' => 35],
['id' => 4, 'name' => 'David', 'age' => 40],
];
SQL 쿼리의 테이블에서 선택한 이름 및 나이 와 비슷한 두 필드 이름 과 나이 의 데이터를 추출하려고합니다.
array_column 함수는 세 가지 매개 변수를 수락합니다.
$ 배열 : 입력 다차원 배열.
$ column_key : 추출 할 열 키입니다.
$ index_key (선택 사항) : 지정된 경우이 키를 누르면 결과가 색인화됩니다.
이름 과 연령 필드 데이터를 추출하기 위해 array_column 만 사용하면 다음과 같습니다.
// 발췌 name 그리고 age 두 개의 데이터 열
$names = array_column($data, 'name');
$ages = array_column($data, 'age');
// 출력 결과
print_r($names);
print_r($ages);
출력 결과 :
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
[3] => David
)
Array
(
[0] => 30
[1] => 25
[2] => 35
[3] => 40
)
이 코드는 배열에서 두 필드 이름 과 나이 의 값을 추출합니다. 이 두 열의 데이터 열을 동시에 추출 해야하는 경우 새로운 다차원 배열로 결합 할 수 있습니다.
// 발췌 name 그리고 age 두 개의 데이터 열,새로운 배열로 결합하십시오
$result = array_map(function($item) {
return ['name' => $item['name'], 'age' => $item['age']];
}, $data);
// 출력 조합 결과
print_r($result);
출력 결과 :
Array
(
[0] => Array
(
[name] => Alice
[age] => 30
)
[1] => Array
(
[name] => Bob
[age] => 25
)
[2] => Array
(
[name] => Charlie
[age] => 35
)
[3] => Array
(
[name] => David
[age] => 40
)
)
이런 식으로, 우리는 선택 이름 인 SQL의 Age From Table 의 효과를 성공적으로 시뮬레이션하고 두 열의 데이터 열을 추출하고 새 형식으로 반환했습니다.
Array_Column 함수는 다차원 배열에서 데이터 열을 추출하기위한 매우 강력한 도구입니다. 경우에 따라 특히 처리중인 데이터가 이미 배열에있는 경우 SQL 쿼리의 선택 작업을 대체 할 수 있습니다. Array_Map을 결합하면 SQL 쿼리에서 여러 개의 데이터 열을 추출하는 기능을 유연하게 시뮬레이션 할 수 있습니다.
이 기사가 PHP에서 array_column을 사용하여 SQL 쿼리를 시뮬레이션하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다. 더 많은 질문이 있거나 추가 사례가 필요하면 언제든지 질문하십시오!