php array_column 메서드는 배열에서 지정된 열을 반환할 수 있지만 여러 열을 반환할 수는 없습니다. 이 문서에서는 array_column 메서드 사용을 소개하고 코드를 사용하여 배열에서 지정된 여러 열을 반환하는 방법을 보여줍니다. .
array_column은 배열의 지정된 열을 반환할 수 있습니다
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
매개변수 설명:
input
배열 열의 다차원 배열을 꺼내야 합니다. 개체 집합이 포함된 배열이 제공되면 공용 속성만 직접 검색됩니다. 전용 및 보호 속성도 검색하려면 클래스에서 __get() 및 __isset() 매직 메서드를 구현해야 합니다.
column_key
반환해야 할 열은 인덱스 배열의 열 인덱스일 수도 있고, 연관 배열의 열의 키일 수도 있고, 속성 이름일 수도 있습니다. NULL일 수도 있으며, 이 경우 전체 배열이 반환됩니다(index_key 매개변수와 함께 사용하여 배열 키를 재설정할 때 매우 유용함)
index_key
반환된 배열의 인덱스/키 열로 열의 정수 인덱스 또는 문자열 키 값일 수 있습니다.
예:
배열의 이름 열 반환
<?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 )
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 '指定返回列及索引列'.PHP_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 중국어 웹사이트를 참조하세요.
관련 권장 사항:
Mysql secure-file-priv 옵션 문제 해결 방법
php에서는 debug_backtrace 방법을 사용하여 코드 호출을 추적합니다
위 내용은 지정된 여러 열을 배열로 반환하는 PHP 메서드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!