Maison > développement back-end > tutoriel php > Expliquer les méthodes associées pour renvoyer plusieurs colonnes spécifiées dans un tableau en PHP

Expliquer les méthodes associées pour renvoyer plusieurs colonnes spécifiées dans un tableau en PHP

jacklove
Libérer: 2023-03-30 20:54:02
original
2941 Les gens l'ont consulté

La méthode

php array_column peut renvoyer une colonne spécifiée dans le tableau, mais ne peut pas renvoyer plusieurs colonnes. Cet article présentera l'utilisation de la méthode array_column et utilisera le code pour démontrer la méthode. retour de plusieurs colonnes spécifiées dans la méthode array.

1.array_column description

array_column peut renvoyer une colonne spécifiée dans le tableau

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
Copier après la connexion

Description du paramètre :

input
Le tableau multidimensionnel de la colonne du tableau doit être supprimé. Si un tableau contenant un ensemble d'objets est fourni, seules les propriétés publiques seront récupérées directement. Afin de récupérer également les propriétés privées et protégées, la classe doit implémenter les méthodes magiques __get() et __isset().

column_key
La colonne qui doit renvoyer une valeur, cela peut être l'index de colonne du tableau d'index, ou la clé de la colonne du tableau associatif, ou il peut s'agir d'un nom d'attribut. Il peut également être NULL, auquel cas le tableau entier sera renvoyé (très utile lorsqu'il est utilisé avec le paramètre index_key pour réinitialiser la clé du tableau)

index_key
as return La colonne index/clé du tableau, qui peut être l'index entier de la colonne, ou la valeur de la clé de chaîne.
Exemple :
Renvoie la colonne de nom dans le tableau

<?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);?>
Copier après la connexion

Sortie :

Array(
    [0] => fdipzone
    [1] => terry
    [2] => alex
)
Copier après la connexion

2. Méthode pour renvoyer plusieurs colonnes spécifiées dans le tableau

La méthode array_column peut renvoyer une colonne spécifiée dans le tableau, mais ne peut pas renvoyer plusieurs colonnes Par conséquent, la méthode suivante a été écrite pour prendre en charge. renvoyant plusieurs colonnes dans le tableau, l'appel du paramètre est similaire à 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);?>
Copier après la connexion

Sortie :

指定返回列及索引列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
        )

)
Copier après la connexion

Cet article explique les méthodes pertinentes pour renvoyer plusieurs colonnes dans un tableau en PHP. Pour plus de contenu connexe, veuillez faire attention. au réseau chinois PHP.

Recommandations associées :

Explication détaillée de php basée sur la classe de compteur Redis

Explication détaillée de la méthode php pour vérifier si elle correspond au période spécifiée

Comment accéder aux informations sur l'appareil via JS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal