Dans PHP, Array_Fill_keys est une fonction très pratique qui peut rapidement remplir un ensemble de clés dans un tableau et attribuer des valeurs spécifiées uniformément. De nombreux développeurs peuvent avoir de telles questions dans leur utilisation quotidienne:
Avant de plonger dans les tableaux de nidification, jetons un coup d'œil à la syntaxe de base de Array_Fill_keys :
array_fill_keys(array $keys, mixed $value): array
Son objectif est de définir la même valeur pour chaque clé en fonction du tableau donné de noms de clés $ clés .
Exemple:
$keys = ['name', 'email', 'age'];
$result = array_fill_keys($keys, null);
print_r($result);
Sortir:
Array
(
[name] =>
[email] =>
[age] =>
)
Bien que Array_Fill_keys lui-même ne génère pas automatiquement des structures imbriquées multicouches, vous pouvez implémenter la nidification d'une couche en passant la valeur du type de tableau .
Exemple:
$keys = ['user1', 'user2', 'user3'];
$nestedStructure = [
'id' => 0,
'username' => '',
'email' => '',
'profile' => [
'avatar' => '',
'bio' => '',
]
];
$result = array_fill_keys($keys, $nestedStructure);
print_r($result);
Sortir:
Array
(
[user1] => Array
(
[id] => 0
[username] =>
[email] =>
[profile] => Array
(
[avatar] =>
[bio] =>
)
)
[user2] => Array
(
[id] => 0
[username] =>
[email] =>
[profile] => Array
(
[avatar] =>
[bio] =>
)
)
[user3] => Array
(
[id] => 0
[username] =>
[email] =>
[profile] => Array
(
[avatar] =>
[bio] =>
)
)
)
Comme vous pouvez le voir, nous avons créé avec succès une structure de tableau imbriquée prédéfinie pour chaque utilisateur à l'aide d'Array_Fill_keys .
Un problème très critique à noter lors de l'utilisation de tableaux imbriqués: références .
Array_Fill_keys copiera le tableau que vous avez transmis directement, mais si vous prévoyez de modifier les données imbriquées de l'un des utilisateurs plus tard, assurez-vous d'abord une copie profonde , sinon toutes les clés peuvent partager le même tableau imbriqué (en particulier lorsque vous utilisez des objets ou vous référez manuellement aux affectations).
Vous pouvez appliquer cette technique dans de nombreux projets pratiques, tels que:
Initialiser la structure de données par défaut pour plusieurs utilisateurs
Remplir les valeurs par défaut pour plusieurs éléments de configuration
Construisez le format unifié renvoyé par l'interface, par exemple:
$apiEndpoints = ['login', 'register', 'logout'];
$responseTemplate = [
'status' => 'success',
'data' => [],
'message' => '',
'link' => 'https://m66.net/api-docs'
];
$apiResponses = array_fill_keys($apiEndpoints, $responseTemplate);
Bien que Array_Fill_keys ne crée pas directement des "tableaux de cou", vous pouvez complètement implémenter l'initialisation structurée en transmettant un tableau contenant des structures imbriquées sous forme de valeurs. Cette technique est très efficace et concise lors de la construction d'une grande quantité de données avec des structures similaires.
J'espère que cet article peut vous aider à mieux comprendre et utiliser l'utilisation avancée de Array_Fill_Keys pour améliorer votre efficacité de codage PHP!