>  기사  >  백엔드 개발  >  PHP의 배열에 지정된 여러 열을 반환하는 관련 방법 설명

PHP의 배열에 지정된 여러 열을 반환하는 관련 방법 설명

jacklove
jacklove원래의
2018-06-08 16:19:482902검색

php array_column 메서드는 배열에서 지정된 열을 반환할 수 있지만 여러 열을 반환할 수는 없습니다. 이 문서에서는 array_column 메서드 사용을 소개하고 코드를 사용하여 배열에서 지정된 여러 열을 반환하는 방법을 보여줍니다. .

1.Array_Column Description

Array_Column은 배열에서 지정된 열을 반환 할 수 있습니다. 밖으로. 개체 집합이 포함된 배열이 제공되면 공용 속성만 직접 검색됩니다. 전용 및 보호 속성도 검색하려면 클래스에서 __get() 및 __isset() 매직 메서드를 구현해야 합니다.

column_key

반환해야 할 열은 인덱스 배열의 열 인덱스일 수도 있고, 연관 배열의 열의 키일 수도 있고, 속성 이름일 수도 있습니다. NULL일 수도 있으며, 이 경우 전체 배열이 반환됩니다(index_key 매개변수와 함께 사용하여 배열 키를 재설정할 때 매우 유용함)

index_key

반환된 배열의 인덱스/키 열로 열의 정수 인덱스 또는 문자열 키 값일 수 있습니다.

예:
배열의 이름 열 반환

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )

출력:

<?php$arr = array(    array(&#39;id&#39;=>1001, &#39;name&#39;=>&#39;fdipzone&#39;, &#39;age&#39;=>18, &#39;profession&#39;=>&#39;programmer&#39;),    array(&#39;id&#39;=>1002, &#39;name&#39;=>&#39;terry&#39;, &#39;age&#39;=>19, &#39;profession&#39;=>&#39;designer&#39;),    array(&#39;id&#39;=>1003, &#39;name&#39;=>&#39;alex&#39;, &#39;age&#39;=>20, &#39;profession&#39;=>&#39;tester&#39;),
);$result = array_column($arr, &#39;name&#39;);

print_r($result);?>
2. 배열에 지정된 여러 열을 반환하는 메서드

array_column 메서드는 배열의 지정된 열을 반환할 수 있지만 그래서 배열에서 여러 열을 반환하는 것을 지원하는 다음 메서드를 작성했습니다. 매개변수 호출은 array_column과 유사합니다.
Array(
    [0] => fdipzone
    [1] => terry
    [2] => alex
)

출력:

<?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(&#39;,&#39;, $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(&#39;id&#39;=>1001, &#39;name&#39;=>&#39;fdipzone&#39;, &#39;age&#39;=>18, &#39;profession&#39;=>&#39;programmer&#39;),    array(&#39;id&#39;=>1002, &#39;name&#39;=>&#39;terry&#39;, &#39;age&#39;=>19, &#39;profession&#39;=>&#39;designer&#39;),    array(&#39;id&#39;=>1003, &#39;name&#39;=>&#39;alex&#39;, &#39;age&#39;=>20, &#39;profession&#39;=>&#39;tester&#39;),
);echo &#39;指定返回列及索引列&#39;.PHP_EOL;$result = array_columns($arr, &#39;name,profession&#39;, &#39;id&#39;);
print_r($result);echo PHP_EOL.&#39;指定返回列,不指定索引列&#39;.PHP_EOL;$result = array_columns($arr, &#39;name,profession&#39;);
print_r($result);echo PHP_EOL.&#39;不指定返回列,指定索引列&#39;.PHP_EOL;$result = array_columns($arr, null, &#39;id&#39;);
print_r($result);echo PHP_EOL.&#39;不指定返回列,不指定索引列&#39;.PHP_EOL;$result = array_columns($arr);
print_r($result);?>
이 문서에서는 배열의 지정된 여러 열을 반환하는 PHP의 관련 방법을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참조하세요.

관련 추천:

redis 카운터 클래스 기반 php에 대한 자세한 설명

특정 기간과 일치하는지 확인하는 php 메소드에 대한 자세한 설명

JS로 기기 정보에 접근하는 방법

위 내용은 PHP의 배열에 지정된 여러 열을 반환하는 관련 방법 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.