PHP-Methode zum Zurückgeben mehrerer angegebener Spalten in einem Array

jacklove
Freigeben: 2023-04-01 12:18:01
Original
2136 Leute haben es durchsucht

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.

1.array_column-Beschreibung

array_column kann eine angegebene Spalte im Array zurückgeben

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
Nach dem Login kopieren

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(&#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);?>
Nach dem Login kopieren

Ausgabe:

Array(
    [0] => fdipzone
    [1] => terry
    [2] => alex
)
Nach dem Login kopieren

2 . Rückgabemethoden zum Angeben mehrerer Spalten in einem Array

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(&#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);?>
Nach dem Login kopieren

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
        )
)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!