Position actuelle: Accueil> Derniers articles> Comment combiner array_column et array_unique pour déduir la valeur d'une colonne dans un tableau?

Comment combiner array_column et array_unique pour déduir la valeur d'une colonne dans un tableau?

M66 2025-04-28

En PHP, nous devons souvent traiter les tableaux, en particulier lorsque le tableau contient plusieurs tableaux multidimensionnels, la nécessité d'extraire la valeur d'une certaine colonne et qu'il se produit souvent. Aujourd'hui, discutons de la façon de combiner les fonctions Array_Column et Array_Unique pour déduir la valeur d'une colonne dans un tableau.

Utilisez Array_Column pour extraire une colonne dans un tableau

Tout d'abord, nous pouvons extraire la valeur d'une colonne à partir d'un tableau multidimensionnel via la fonction Array_Column . La fonction de Array_Column est de renvoyer la valeur d'une colonne spécifiée dans un tableau multidimensionnel, qui est souvent utilisé pour extraire une certaines informations dans la liste de données.

Par exemple, supposons que nous ayons un tableau de plusieurs enregistrements, chaque enregistrement dispose de champs tels que ID , nom et e-mail , à partir de laquelle nous voulons extraire toutes les adresses e-mail .

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

$emails = array_column($data, 'email'); // Extraire tout email adresse
print_r($emails);
?>

Après avoir exécuté le code ci-dessus, le résultat de sortie est:

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

Utilisez Array_Unique pour dédupliquer les valeurs dans le tableau

Ensuite, nous utilisons la fonction Array_Unique pour dédupliquer l'adresse e-mail extraite. La fonction Array_Unique supprime les valeurs en double dans le tableau et conserve uniquement des valeurs uniques.

 <?php
$uniqueEmails = array_unique($emails); // Aller au lourd
print_r($uniqueEmails);
?>

Après avoir exécuté le code ci-dessus, le résultat de sortie est:

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

Comme vous pouvez le voir, Array_Unique a réussi à supprimer l'adresse en double Alice@m66.net et n'a conservé que l'adresse e-mail unique.

Utilisation combinée de Array_Column et Array_Unique

En combinant ces deux fonctions, nous pouvons implémenter le fonctionnement de l'extraction d'une certaine colonne d'un tableau et d'une déduplication multidimensionnelles. Voici un exemple complet montrant comment extraire les colonnes par e-mail et les dédupliez.

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

$emails = array_column($data, 'email'); // Extraire tout email adresse
$uniqueEmails = array_unique($emails); // Aller au lourd
print_r($uniqueEmails);
?>

La sortie finale est: