Position actuelle: Accueil> Derniers articles> Explication détaillée de l'utilisation de base de PHP Array_Column

Explication détaillée de l'utilisation de base de PHP Array_Column

M66 2025-04-28

Dans PHP, Array_Column () est une fonction très pratique qui peut extraire des données d'une colonne d'un tableau multidimensionnel. Cette fonction est particulièrement adaptée au traitement des tableaux contenant de grandes quantités de données, nous aidant à obtenir rapidement des informations de colonne spécifiques. Ensuite, nous explorerons en profondeur l'utilisation de la fonction Array_Column () , l'analyse des paramètres et certains scénarios d'application courants.

Introduction de base à Array_Column ()

La fonction Array_Column () est utilisée pour extraire les données d'une colonne d'un tableau bidimensionnel, et est généralement utilisé pour extraire la valeur d'une clé spécifiée dans un tableau multidimensionnel. Par exemple, lorsque vous avez un tableau d'informations utilisateur, vous pouvez extraire les adresses e-mail ou les noms d'utilisateur de tous les utilisateurs.

Syntaxe de fonction

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

  • $ Column_key : La clé de la colonne à retourner (peut être l'index du tableau ou le nom de clé du tableau associatif).

  • $ index_key : facultatif, comme la colonne de l'index (peut être le nom de clé du tableau).

Utilisation commune de la fonction Array_Column ()

1. Extraire une seule colonne d'un tableau multidimensionnel

Supposons que vous ayez le tableau suivant de données utilisateur et que vous souhaitez simplement obtenir les adresses e-mail de tous les utilisateurs.

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

$emails = array_column($users, 'email');
print_r($emails);

Résultat de sortie:

 Array
(
    [0] => alice@example.com
    [1] => bob@example.com
    [2] => charlie@example.com
)

2. Extraire la colonne spécifiée du tableau multidimensionnel et définir l'index

Parfois, nous voulons non seulement extraire une colonne dans le tableau, mais aussi pour définir cette colonne comme index du nouveau tableau. Par exemple, si vous souhaitez définir l'ID en tant qu'index, extraire les noms de tous les utilisateurs:

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

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

Résultat de sortie:

 Array
(
    [1] => Alice
    [2] => Bob
    [3] => Charlie
)

3. Extraire les données de colonne à l'aide de noms de clés personnalisés

Si vous ne souhaitez pas utiliser directement les noms de clés du tableau, mais utilisez plutôt un nom de clé personnalisé pour l'extraire, vous pouvez également l'implémenter via la fonction Array_Column () . Par exemple, extraire l'adresse e-mail de l'utilisateur et définir le nom sur index:

 $users = [
    ['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
    ['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
    ['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];

$emails = array_column($users, 'email', 'name');
print_r($emails);

Résultat de sortie:

 Array
(
    [Alice] => alice@example.com
    [Bob] => bob@example.com
    [Charlie] => charlie@example.com
)

Scénarios d'application avancés de Array_Column ()

1. Extraire et filtrer les données des tableaux multidimensionnels

Parfois, nous devons filtrer les données en même temps lors de l'extraction d'une certaine colonne. Bien que la fonction Array_Column () ne prenne pas en charge le filtrage, vous pouvez le faire en combinaison avec d'autres fonctions.

Par exemple, supposons que vous ayez un tableau de commande qui souhaite extraire tous les ID de commande avec un montant supérieur à 100:

 $orders = [
    ['order_id' => 1, 'amount' => 50],
    ['order_id' => 2, 'amount' => 150],
    ['order_id' => 3, 'amount' => 200],
    ['order_id' => 4, 'amount' => 75]
];

$filtered_orders = array_filter($orders, function($order) {
    return $order['amount'] > 100;
});

$order_ids = array_column($filtered_orders, 'order_id');
print_r($order_ids);

Résultat de sortie:

 Array
(
    [1] => 2
    [2] => 3
)

2. Fuurez les tableaux

Array_Column () peut également être utilisé en combinaison avec des fonctions telles que array_map () , afin d'atteindre le traitement des données en même temps lors de l'extraction des données de colonne.

Choses à noter

  1. Problème d'indexation : Array_Column () ne renvoiera que la valeur de la colonne spécifiée et ne conservera pas les clés du tableau d'origine. Si vous devez conserver l'index, vous pouvez envisager un traitement supplémentaire.

  2. Problèmes de performances : Array_Column () est une fonction relativement efficace, mais les performances sont toujours une préoccupation lorsqu'ils traitent de très grands tableaux. Si vous devez fonctionner sur d'énormes ensembles de données, vous pouvez considérer d'autres méthodes plus optimisées.

Résumer

La fonction Array_Column () est un outil très puissant et est souvent utilisée en PHP pour extraire les données de colonnes spécifiques à partir de tableaux multidimensionnels. En utilisant de manière flexible ses paramètres, vous pouvez facilement extraire les données de colonne du tableau et personnaliser les conditions d'index et de filtrage. Qu'il s'agisse de traiter les données des utilisateurs, les données de commande ou d'autres formes de tableaux complexes, Array_Column () peut vous aider à simplifier considérablement votre code et à améliorer l'efficacité.