Dans le développement quotidien de PHP, nous devons souvent construire certaines données JSON à structure fixe, en particulier lorsque l'API du traitement renvoie des données ou des modèles de configuration. Si vous avez déjà été dérangé de remplir manuellement chaque clé, la fonction Array_Fill_keys sera une bonne aide pour vous.
Array_Fill_keys est une fonction intégrée fournie par PHP. Sa fonction consiste à générer rapidement un tableau associatif complet à l'aide du tableau de nom de clé spécifié et d'une valeur par défaut .
La syntaxe est la suivante:
array_fill_keys(array $keys, mixed $value): array
$ touches : un tableau qui doit être utilisé comme clés.
$ Value : la valeur initiale attribuée à toutes les clés.
Cette fonction est très adaptée à une utilisation dans l'initialisation du modèle, la construction des données d'espace réservé et d'autres scénarios.
Imaginez un scénario où vous devez renvoyer une réponse JSON standardisée, qui contient des champs ID , nom , statut , URL , et ces champs doivent avoir des valeurs par défaut (telles que null, chaîne vide, etc.) lors de l'initialisation.
La façon d'écrire traditionnelle pourrait ressembler à ceci:
$template = [
'id' => null,
'name' => null,
'status' => null,
'url' => null
];
Lorsqu'il y a trop de champs, cette méthode devient répétitive et lourde.
En utilisant array_fill_keys , nous pouvons écrire ceci:
$fields = ['id', 'name', 'status', 'url'];
$template = array_fill_keys($fields, null);
Cela obtient rapidement un tableau de modèles avec toutes les valeurs de NULL , qui améliore considérablement l'efficacité et la lisibilité.
Supposons que nous devons sortir un ensemble de ces modèles de données et les convertir en une chaîne JSON et les retourner à l'avant:
$fields = ['id', 'name', 'status', 'url'];
$template = array_fill_keys($fields, null);
// Voici la démonstration,Remplissez certaines valeurs
$template['id'] = 101;
$template['name'] = 'Tests';
$template['status'] = 'active';
$template['url'] = 'https://m66.net/api/project/101';
echo json_encode($template, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
Le résultat de la sortie est:
{
"id": 101,
"name": "Tests",
"status": "active",
"url": "https://m66.net/api/project/101"
}
De cette façon, le modèle de toute la structure JSON peut être construit de manière très concise et peut remplacer dynamiquement les valeurs de champ au besoin.
Si nous devons construire plusieurs éléments de données à la fois, par exemple pour simuler des données de pagination, nous pouvons combiner des boucles à générer:
$fields = ['id', 'name', 'status', 'url'];
$list = [];
for ($i = 1; $i <= 5; $i++) {
$item = array_fill_keys($fields, null);
$item['id'] = $i;
$item['name'] = 'projet ' . $i;
$item['status'] = 'active';
$item['url'] = "https://m66.net/api/project/{$i}";
$list[] = $item;
}
echo json_encode($list, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
La sortie sera un tableau JSON contenant 5 entrées, chacune avec la même structure, qui est idéale pour la sortie que les données simulées ou l'interface frontale.
Array_Fill_keys est une fonction simple mais très pratique, particulièrement adaptée à la construction de tableaux de modèles avec des structures unifiées. Qu'il s'agisse d'un seul objet ou d'une liste de tableaux, l'utiliser avec JSON peut considérablement améliorer la lisibilité et la maintenabilité du code.
Lorsque vous devez initialiser les données structurées la prochaine fois, vous pourriez tout aussi bien envisager d'utiliser cette petite fonction d'outil pour faciliter le développement de PHP!