반응형
phparray_column 메서드는 배열에 지정된 열을 반환할 수 있지만 여러 열을 반환할 수 없습니다. 이 텍스트는 array_column 메서드의 사용법을 소개하고 배열에 지정된 열을 반환하는 방법을 보여 줍니다.
1.array_column 설명
array_column은 배열에서 지정한 열을 반환할 수 있습니다
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
매개 변수 설명:
인풋
배열 열을 꺼내는 다차원 배열이 필요합니다. 개체 집합을 포함하는 배열이 제공되면 public 속성만 꺼냅니다. private와 protected 속성도 꺼내기 위해서는 _get()과 _isset() 매직 메서드를 구현해야 합니다.
column_key
값을 반환해야 하는 열, 그것은 삭일 수 있다.배열의 열 인덱스를 따오거나 배열의 열을 연결하는 키도 속성 이름일 수 있습니다. NULL일 수도 있습니다. 이 경우 배열 전체로 돌아갑니다(index_key 파라미터에 따라 배열 키를 재설정할 때 유용합니다).
index_key
배열의 색인/ 키를 반환하는 열로 사용하기열의 정수 인덱스이거나 문자열 키 값일 수 있습니다.
예:
배열의 열을 되돌립니다Name
<?php
$arr = array(
array('id'=>1001, 'name'=>'fdipzone', 'age'=>18, 'profession'=>'programmer'),
array('id'=>1002, 'name'=>'terry', 'age'=>19, 'profession'=>'designer'),
array('id'=>1003, 'name'=>'alex', 'age'=>20, 'profession'=>'tester'),
);
$result = array_column($arr, 'name');
print_r($result);
?>
출력:
Array
(
[0] => fdipzone
[1] => terry
[2] => alex
)
2. 배열에서 여러 열을 지정하는 방법을 반환합니다.
array_column 방법 가능반환 배열에 열을 하나 지정하지만 반환할 수 없으므로 다음 방법을 사용하여 반환 배열에 다중 열을 지원합니다. 매개 변수 호출은 array_column과 유사합니다.
<?php
/**
* 배열에서 지정한 열을 반환합니다
*
* @param Array $input 배열의 다차원 배열 꺼내기
* @param String $column_keys 내보낼 열 이름, 쉼표로 구분하고 전달하지 않으면 모든 열을 반환합니다
* @param String $index_key 배열의 인덱스를 반환하는 열
* @return Array
*/
function array_columns($input, $column_keys=null, $index_key=null){
$result = array();
$keys =isset($column_keys)? explode(',', $column_keys) : array();
if($input){
foreach($input as $k=>$v){
// 반환 열 지정
if($keys){
$tmp = array();
foreach($keys as $key){
$tmp[$key] = $v[$key];
}
}else{
$tmp = $v;
}
// 색인 열 지정
if(isset($index_key)){
$result[$v[$index_key]] = $tmp;
}else{
$result[] = $tmp;
}
}
}
return $result;
}
// 데모 코드
$arr = array(
array('id'=>1001, 'name'=>'fdipzone', 'age'=>18, 'profession'=>'programmer'),
array('id'=>1002, 'name'=>'terry', 'age'=>19, 'profession'=>'designer'),
array('id'=>1003, 'name'=>'alex', 'age'=>20, 'profession'=>'tester'),
);
echo '반환 열과 색인 열'. PH_EOL;
$result = array_columns($arr, 'name,profession', 'id');
print_r($result);
echo PHP_EOL.'반환 열 지정, 색인 열 지정 안 함'.PHP_EOL;
$result = array_columns($arr, 'name,profession');
print_r($result);
echo PHP_EOL.'반환 열 지정 안 함, 색인 열 지정'.PHP_EOL;
$result = array_columns($arr, null, 'id');
print_r($result);
echo PHP_EOL.'반환 열, 색인 열 지정 안 함'.PHP_EOL;
$result = array_columns($arr);
print_r($result);
?>
输出:
반환 열과 색인 열 지정
Array
(
[1001] => Array
(
[name] => fdipzone
[profession] => programmer
)
[1002] => Array
(
[name] => terry
[profession] => designer
)
[1003] => Array
(
[name] => alex
[profession] => tester
)
)
반환 열 지정, 색인 열 지정 안 함
Array
(
[0] => Array
(
[name] => fdipzone
[profession] => programmer
)
[1] => Array
(
[name] => terry
[profession] => designer
)
[2] => Array
(
[name] => alex
[profession] => tester
)
)
반환 열 지정 안 함, 색인 열 지정
Array
(
[1001] => Array
(
[id] => 1001
[name] => fdipzone
[age] => 18
[profession] => programmer
)
[1002] => Array
(
[id] => 1002
[name] => terry
[age] => 19
[profession] => designer
)
[1003] => Array
(
[id] => 1003
[name] => alex
[age] => 20
[profession] => tester
)
)
반환 열, 색인 열 지정 안 함
Array
(
[0] => Array
(
[id] => 1001
[name] => fdipzone
[age] => 18
[profession] => programmer
)
[1] => Array
(
[id] => 1002
[name] => terry
[age] => 19
[profession] => designer
)
[2] => Array
(
[id] => 1003
[name] => alex
[age] => 20
[profession] => tester
)
)
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP 배열이 연속 디지털 인덱스로 재설정되는 몇 가지 방법 (0) | 2022.07.15 |
---|---|
php 배열 병합 및 키 값 보존 방법 (0) | 2022.07.15 |
MAC 아래 brew로 PHP 개발 환경 구축 (0) | 2022.07.15 |
ecshop 취약성 복구 정리 (0) | 2022.07.15 |
PHP+MySQL 뉴스 관리 시스템 구현 (0) | 2022.07.14 |