Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Methode zum Zurückgeben mehrerer angegebener Spalten in einem Array
Die Methode
php array_column kann eine im Array angegebene Spalte zurückgeben, jedoch nicht mehrere Spalten. In diesem Artikel wird die Verwendung der Methode array_column vorgestellt und Code zur Demonstration verwendet Rückgabe mehrerer in der Array-Methode angegebener Spalten.
array_column kann eine angegebene Spalte im Array zurückgeben
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
Parameterbeschreibung:
Eingabe
Das mehrdimensionale Array der Array-Spalte muss herausgenommen werden. Wenn ein Array bereitgestellt wird, das eine Reihe von Objekten enthält, werden nur die öffentlichen Eigenschaften direkt abgerufen. Um auch private und geschützte Eigenschaften abzurufen, muss die Klasse die magischen Methoden __get() und __isset() implementieren.
column_key
Die Spalte, die einen Wert zurückgeben muss, kann der Spaltenindex des Indexarrays oder der Schlüssel der Spalte sein Es kann sich um ein assoziatives Array oder um einen Attributnamen handeln. Es kann auch NULL sein. In diesem Fall wird das gesamte Array zurückgegeben (sehr nützlich, wenn es mit dem Parameter index_key zum Zurücksetzen des Array-Schlüssels verwendet wird)
index_key
als Rückgabe Die Index-/Schlüsselspalte des Arrays, die der ganzzahlige Index der Spalte oder der Zeichenfolgenschlüsselwert sein kann.
Beispiel:
Gibt die Namensspalte im Array zurück
<?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);?>
Ausgabe:
Array( [0] => fdipzone [1] => terry [2] => alex )
Die Methode array_column kann eine angegebene Spalte im Array zurückgeben, aber nicht mehrere Spalten. Daher wurde die folgende Methode geschrieben, die die Rückgabe mehrerer Spalten unterstützt im Array Parameteraufruf Ähnlich wie 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);?>
Ausgabe:
指定返回列及索引列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 ) )
In diesem Artikel wird erläutert, wie Sie in PHP mehrere angegebene Spalten in einem Array zurückgeben. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website .
Verwandte Empfehlungen:
JS-Methode zum Abrufen von Zugriffsgeräteinformationen
Lösung für die MySQL-Secure-File-Priv-Option Problemmethode
php verwendet die Methode debug_backtrace, um Codeaufrufe zu verfolgen
Das obige ist der detaillierte Inhalt vonPHP-Methode zum Zurückgeben mehrerer angegebener Spalten in einem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!