Position actuelle: Accueil> Derniers articles> Utilisez array_fill_keys et array_column pour la reconstruction de données

Utilisez array_fill_keys et array_column pour la reconstruction de données

M66 2025-06-06

La fonction Array_Fill_keys est utilisée pour remplir la clé spécifiée d'un tableau avec la valeur spécifiée. Il reçoit deux paramètres: un tableau de noms de clés et une valeur de rembourrage, renvoyant un nouveau tableau avec les noms de clés provenant du tableau donné et la valeur étant la valeur de rembourrage donnée.

Exemple de code:
 $keys = ['a', 'b', 'c'];
$value = 0;
$result = array_fill_keys($keys, $value);
print_r($result);

Sortir:

 Array
(
    [a] => 0
    [b] => 0
    [c] => 0
)

Dans l'exemple ci-dessus, nous définissons un tableau contenant les noms de clés de A , B et C , et utilisons Array_Fill_keys pour définir leurs valeurs sur 0 .

2. Introduction à la fonction Array_Column

La fonction Array_Column est utilisée pour extraire les valeurs d'une colonne à partir d'un tableau multidimensionnel et renvoie un tableau contenant ces valeurs. Il accepte trois paramètres: le tableau d'origine, le nom de clé de la colonne et le nom de la clé d'index facultatif.

Exemple de code:
 $data = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];
$emails = array_column($data, 'email');
print_r($emails);

Sortir:

 Array
(
    [0] => john@m66.net
    [1] => jane@m66.net
    [2] => doe@m66.net
)

Dans cet exemple, nous extraissons les valeurs de tous les champs de messagerie à partir d'un tableau multidimensionnel $ Data et les stockons dans un nouvel array $ e-mails .

3. Utilisez Array_Fill_Keys et Array_Column pour une reconstruction de données efficace

La combinaison de Array_Fill_keys et Array_Column est très efficace lorsque nous devons extraire certains champs d'un tableau multidimensionnel et les utiliser comme clés du nouveau tableau tout en leur donnant les mêmes valeurs par défaut. Nous pouvons d'abord utiliser Array_Column pour obtenir les données de colonne requises, puis utiliser array_fill_keys pour générer un nouveau tableau associatif en fonction de ces données et attribuer une valeur unifiée.

Exemple de code:
 $data = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];

$names = array_column($data, 'name');
$default_value = 'N/A';
$result = array_fill_keys($names, $default_value);

print_r($result);

Sortir:

 Array
(
    [John] => N/A
    [Jane] => N/A
    [Doe] => N/A
)

Dans cet exemple, nous extraissons d'abord les valeurs de tous les champs de nom à l'aide de Array_Column , puis utilisons Array_Fill_Keys pour utiliser ces valeurs comme noms de clés du nouveau tableau, toutes les valeurs sont définies sur «n / a» .

4. Scénario pratique: Traitement des résultats de la requête de la base de données

Supposons que nous ayons certaines informations utilisateur de la base de données et que nous souhaitions utiliser l'ID de ces utilisateurs comme clés et leur e-mail comme valeurs pour générer un nouveau tableau associatif. Dans ce cas, la combinaison des fonctions Array_Column et Array_Fill_keys est très pratique.

Exemple de code:
 // Supposons que ce soit le résultat obtenu à partir de la requête de base de données
$db_result = [
    ['id' => 1, 'name' => 'John', 'email' => 'john@m66.net'],
    ['id' => 2, 'name' => 'Jane', 'email' => 'jane@m66.net'],
    ['id' => 3, 'name' => 'Doe', 'email' => 'doe@m66.net']
];

// extrait id et email
$ids = array_column($db_result, 'id');
$emails = array_column($db_result, 'email');

// utiliser id Comme clé,email Comme valeur
$user_emails = array_combine($ids, $emails);

print_r($user_emails);

Sortir:

 Array
(
    [1] => john@m66.net
    [2] => jane@m66.net
    [3] => doe@m66.net
)

Dans cet exemple, nous utilisons d'abord Array_Column pour extraire les valeurs des champs ID et e-mail respectivement, puis les fusionner via Array_Combine dans un nouveau tableau avec ID comme clé et e-mail comme valeur.

5. Résumé

Grâce à cet article, nous avons appris que Array_Fill_Keys et Array_Column sont deux fonctions de traitement de table très puissantes dans PHP. array_fill_keys peut remplir un tableau en fonction du nom de clé donné, tandis que Array_Column peut extraire la valeur de la colonne spécifiée à partir d'un tableau multidimensionnel. En utilisant ces deux fonctions ensemble, nous sommes en mesure de traiter et de reconstruire efficacement les données, en particulier lorsque nous devons aller rapidement récupérer les données et effectuer la conversion du tableau.

Grâce à la démonstration de cas réels, je pense que vous pouvez maîtriser l'utilisation de ces deux fonctions et les appliquer dans le développement réel. Si vous rencontrez des problèmes de traitement de tableau similaires pendant le développement, essayez ces deux fonctions, ce qui apportera plus d'efficacité et de simplicité à votre code.