Dans le développement quotidien de PHP, nous devons parfois initialiser rapidement un tableau, où chaque clé correspond à une valeur booléenne fausse , indiquant que certaines balises n'ont pas été définies ou que certaines conditions n'ont pas été remplies. À l'heure actuelle, la fonction Array_Fill_keys peut être utile.
Array_Fill_keys est une fonction intégrée de PHP qui génère un nouveau tableau de touches avec la même valeur basée sur un tableau de touches donné. La signature de la fonction est la suivante:
array_fill_keys(array $keys, mixed $value): array
$ Keys : un tableau que vous souhaitez utiliser comme clé de tableau.
$ Value : la valeur initiale correspondant à toutes les clés.
Supposons que vous ayez affaire à une logique de validation de champs de formulaire, avec un ensemble de champs que vous souhaitez initialiser pour échouer la validation (c'est-à-dire false). Pour le moment, vous pouvez utiliser le code suivant:
<?php
$fields = ['username', 'email', 'password', 'confirm_password'];
$validationStatus = array_fill_keys($fields, false);
print_r($validationStatus);
Sortir:
Array
(
[username] =>
[email] =>
[password] =>
[confirm_password] =>
)
Notez que False apparaît vide dans print_r , mais c'est en effet un faux booléen.
Vous pouvez également l'utiliser pour initialiser un tableau de contrôle d'autorisation, par exemple:
<?php
$permissions = ['read', 'write', 'delete', 'publish'];
$userPermissions = array_fill_keys($permissions, false);
// Vous pouvez par la suite accorder une puissance en fonction des rôles utilisateur
if ($userRole === 'editor') {
$userPermissions['read'] = true;
$userPermissions['write'] = true;
}
var_dump($userPermissions);
Si vous souhaitez générer un ensemble de clés de liaison avec un état booléen, comme l'état de navigation du site Web, vous pouvez le faire:
<?php
$routes = [
'https://m66.net/home',
'https://m66.net/about',
'https://m66.net/contact'
];
$navActive = array_fill_keys($routes, false);
// Supposer que la page actuelle est /about
$currentUrl = 'https://m66.net/about';
$navActive[$currentUrl] = true;
print_r($navActive);
La sortie sera:
Array
(
[https://m66.net/home] =>
[https://m66.net/about] => 1
[https://m66.net/contact] =>
)
Lorsque vous rendez un modèle, vous pouvez décider d'ajouter une classe active à l'élément de navigation en fonction de cette valeur booléenne.
array_fill_keys est une fonction concise et efficace qui convient pour générer rapidement des tableaux d'état initiaux. Il est très pratique de gérer les drapeaux booléens, le contrôle de l'autorisation, l'état de navigation et d'autres scénarios.
La prochaine fois que vous aurez besoin d'initialiser un tableau booléen, vous pourriez aussi bien essayer cette méthode pour rendre votre code plus concis et lisible!