Position actuelle: Accueil> Derniers articles> Utilisez Array_Column pour extraire plusieurs colonnes de tableaux multidimensionnels

Utilisez Array_Column pour extraire plusieurs colonnes de tableaux multidimensionnels

M66 2025-04-29

Dans PHP, la fonction Array_Column peut facilement extraire des données de colonne spécifiques à partir d'un tableau multidimensionnel. Il est souvent utilisé pour extraire une colonne spécifiée à partir d'un réseau associatif ou d'un tableau multidimensionnel pour un traitement ultérieur. Ensuite, nous plongerons dans la façon d'utiliser la fonction Array_Column pour extraire des données multi-colonnes à partir d'un tableau multidimensionnel.

1. Utilisation de base

La syntaxe de base de la fonction Array_Column est la suivante:

 array_column(array $array, $column_key, $index_key = null): array
  • $ Array : le tableau multidimensionnel d'entrée.

  • $ Column_Key : le nom de clé de la colonne qui doit être extrait.

  • $ index_key : (facultatif) est utilisé comme clé pour retourner le tableau. S'il n'est pas fourni, le tableau renvoyé sera un tableau indexé.

Exemple 1: Extraction des données de colonne unique

Tout d'abord, examinons un exemple simple montrant comment extraire les données de colonne unique à partir d'un tableau multidimensionnel:

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$emails = array_column($data, 'email');

print_r($emails);
?>

Résultat de sortie:

 Array
(
    [0] => alice@m66.net
    [1] => bob@m66.net
    [2] => charlie@m66.net
)

Dans cet exemple, nous utilisons Array_Column pour extraire la colonne de messagerie .

2. Extraire plusieurs colonnes de données

Array_Column ne peut extraire qu'une seule colonne de données, mais si vous souhaitez extraire plusieurs colonnes de données, vous pouvez utiliser la combinaison de Array_Column et Array_Map pour y parvenir. Voici un exemple montrant comment extraire plusieurs colonnes:

Exemple 2: Extraction de plusieurs colonnes de données

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$namesAndEmails = array_map(function($item) {
    return [
        'name'  => $item['name'],
        'email' => $item['email'],
    ];
}, $data);

print_r($namesAndEmails);
?>

Résultat de sortie:

 Array
(
    [0] => Array
        (
            [name] => Alice
            [email] => alice@m66.net
        )
    [1] => Array
        (
            [name] => Bob
            [email] => bob@m66.net
        )
    [2] => Array
        (
            [name] => Charlie
            [email] => charlie@m66.net
        )
)

Dans cet exemple, nous utilisons la fonction Array_Map pour extraire les colonnes de nom et de messagerie dans un nouveau tableau.

3. Utilisez Array_Column pour extraire plusieurs colonnes de données

Si vous souhaitez extraire plusieurs données de colonne via Array_Column , vous pouvez généralement l'utiliser en conjonction avec Array_Column avec d'autres fonctions. Par exemple, si vous ne vous souciez qu'une seule colonne et que vous avez besoin d'autres données pour les opérations de corrélation, voici un exemple plus complexe.

Exemple 3: Extraire et réorganiser les données d'un tableau multidimensionnel

 <?php
$data = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net'],
];

$names = array_column($data, 'name');
$emails = array_column($data, 'email');

// Fusionner deux tableaux
$merged = array_map(null, $names, $emails);

print_r($merged);
?>

Résultat de sortie:

 Array
(
    [0] => Array
        (
            [0] => Alice
            [1] => alice@m66.net
        )
    [1] => Array
        (
            [0] => Bob
            [1] => bob@m66.net
        )
    [2] => Array
        (
            [0] => Charlie
            [1] => charlie@m66.net
        )
)

Dans cet exemple, nous utilisons Array_Column pour extraire les colonnes de nom et de courrier électronique , puis les fusionner dans un tableau bidimensionnel via la fonction Array_Map .

4. Résumé

  • Array_Column est un outil très puissant qui peut vous aider à extraire facilement une colonne de données dans un tableau.

  • Pour l'extraction de plusieurs colonnes, bien que Array_Column ne puisse gérer que des colonnes uniques, vous pouvez réaliser l'exigence d'extraction de plusieurs colonnes en combinant d'autres fonctions telles que Array_map .

  • Array_Column est plus efficace, en particulier lorsqu'il s'agit de données à grande échelle, ce qui est plus efficace que les boucles manuelles.

En utilisant Array_Column et d'autres fonctions de tableau raisonnablement, vous pouvez traiter plus efficacement les données de tableau multidimensionnelles dans PHP.