Explication détaillée de l'utilisation de la fonction array_column() de PHP

PHPz
Libérer: 2023-06-27 16:18:01
original
5398 Les gens l'ont consulté

En PHP, il est souvent nécessaire de traiter et d'exploiter des tableaux. Parfois, vous devez obtenir une colonne de données spécifique à partir d'un tableau multidimensionnel. Dans ce cas, vous pouvez utiliser la fonction array_column() pour y parvenir. Cet article présentera en détail l’utilisation de la fonction array_column().

1. Qu'est-ce que la fonction array_column() ?

array_column() est une fonction PHP utilisée pour obtenir une colonne de données spécifiée à partir d'un tableau multidimensionnel. Cette fonction a été introduite dans PHP 5.5 et prend en charge les tableaux associatifs et les tableaux indexés.

Prototype de fonction :
array_column ( array $array , Mixed $column_key [, Mixed $index_key = null ] ) : array

Description du paramètre :
$array : le tableau multidimensionnel sur lequel opérer
$column_key : le colonne à obtenir Le nom ou la valeur de la clé ;
$index_key : paramètre facultatif, si cette valeur est spécifiée, elle sera utilisée comme nom de clé du tableau retourné.

2. Exemples d'utilisation

Regardons quelques exemples d'utilisation de la fonction array_column().

  1. Tableau d'index

Supposons que nous ayons un tableau d'index $users, qui stocke certaines informations sur les utilisateurs, et que nous souhaitons en extraire les noms de tous les utilisateurs. Ceci peut être réalisé grâce au code suivant :

$users = array(0 => array('id'=>1, 'name'=>'Tom', 'email'=>'tom@example.com'),
               1 => array('id'=>2, 'name'=>'Jerry', 'email'=>'jerry@example.com'),
               2 => array('id'=>3, 'name'=>'Mike', 'email'=>'mike@example.com'));

$names = array_column($users, 'name');

print_r($names);
Copier après la connexion

Le résultat de sortie est :

Array (
    [0] => Tom
    [1] => Jerry
    [2] => Mike
)
Copier après la connexion
  1. Tableau associatif

Si notre tableau est un tableau associatif, nous pouvons obtenir la colonne de données spécifiée de la même manière.

Par exemple, nous avons un tableau associatif $students, qui contient des informations sur les étudiants. Nous voulons obtenir l'âge de tous les étudiants :

$students = array('Tom' => array('age'=>20, 'gender'=>'male', 'city'=>'Beijing'),
                  'Jerry' => array('age'=>21, 'gender'=>'female', 'city'=>'Shanghai'),
                  'Mike' => array('age'=>19, 'gender'=>'male', 'city'=>'Guangzhou'));

$ages = array_column($students, 'age');

print_r($ages);
Copier après la connexion

Le résultat de sortie est :

Array (
    [Tom] => 20
    [Jerry] => 21
    [Mike] => 19
)
Copier après la connexion
  1. Obtenir plusieurs valeurs clés
.

Si nous voulons obtenir plusieurs valeurs clés à partir d'un tableau multidimensionnel, vous pouvez mettre les noms de clés à obtenir dans un tableau et les transmettre dans la fonction array_column() comme deuxième paramètre.

Par exemple, nous avons un tableau $temperatures qui contient des données de température pour plusieurs villes. Nous voulons obtenir la température moyenne et la température maximale de chaque ville. Nous pouvons faire ceci :

$temperatures = array(
    array('city'=>'Beijing', 'average'=>20, 'highest'=>28),
    array('city'=>'Shanghai', 'average'=>23, 'highest'=>30),
    array('city'=>'Guangzhou', 'average'=>25, 'highest'=>32)
);

$infos = array_column($temperatures, array('average', 'highest'), 'city');

print_r($infos);
Copier après la connexion

Le résultat de sortie est :

Array (
    [Beijing] => Array (
        [average] => 20
        [highest] => 28
    )
    [Shanghai] => Array (
        [average] => 23
        [highest] => 30
    )
    [Guangzhou] => Array (
        [average] => 25
        [highest] => 32
    )
)
Copier après la connexion
  1. . Spécifiez le retour Le nom de clé du tableau

Parfois, nous souhaitons spécifier le nom de clé du tableau renvoyé lors de l'obtention des données de la colonne spécifiée. Peut être spécifié dans le troisième paramètre de la fonction array_column().

Par exemple, dans l'exemple précédent, nous espérons utiliser « température moyenne » et « température maximale » comme noms de clé du tableau renvoyé. Nous pouvons écrire comme ceci :

$temperatures = array(
    array('city'=>'Beijing', 'average'=>20, 'highest'=>28),
    array('city'=>'Shanghai', 'average'=>23, 'highest'=>30),
    array('city'=>'Guangzhou', 'average'=>25, 'highest'=>32)
);

$infos = array_column($temperatures, array('average', 'highest'), 'city');

$infos = array_map(function($v){return ['平均气温'=>$v[0], '最高气温'=>$v[1]];}, $infos);

print_r($infos);
Copier après la connexion

Le résultat de sortie est :

Array (
    [Beijing] => Array (
        [平均气温] => 20
        [最高气温] => 28
    )
    [Shanghai] => Array (
        [平均气温] => 23
        [最高气温] => 30
    )
    [Guangzhou] => Array (
        [平均气温] => 25
        [最高气温] => 32
    )
)
Copier après la connexion

3. . Conclusion

La fonction array_column() peut facilement obtenir une colonne de données spécifiée à partir d'un tableau multidimensionnel, et la méthode d'utilisation est simple et claire. Dans le développement réel, nous pouvons utiliser pleinement cette fonction pour améliorer l'efficacité et la précision du traitement des tableaux.

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