In der täglichen PHP -Entwicklung müssen wir manchmal ein Array initialisieren, wobei jeder Schlüssel einem booleschen Wert falsch entspricht, was darauf hinweist, dass einige Tags nicht festgelegt wurden oder einige Bedingungen nicht erfüllt wurden. Zu diesem Zeitpunkt kann die Funktion array_fill_keys nützlich sein.
Array_Fill_Keys ist eine integrierte Funktion von PHP, die ein neues Schlüsselarray mit demselben Wert erzeugt, der auf einem bestimmten Schlüsselarray basiert. Die Funktionssignatur ist wie folgt:
array_fill_keys(array $keys, mixed $value): array
$ Keys : Ein Array, das Sie als Array -Taste verwenden möchten.
$ Wert : Der Anfangswert entspricht allen Schlüssel.
Angenommen, Sie haben es mit einer Formular -Feldvalidierungslogik mit einer Reihe von Feldern zu tun, die Sie initialisieren möchten, um die Validierung zu fehlschlagen (d. H. Falsch). Zu diesem Zeitpunkt können Sie den folgenden Code verwenden:
<?php
$fields = ['username', 'email', 'password', 'confirm_password'];
$validationStatus = array_fill_keys($fields, false);
print_r($validationStatus);
Ausgabe:
Array
(
[username] =>
[email] =>
[password] =>
[confirm_password] =>
)
Beachten Sie, dass False in print_r leer erscheint, aber es ist in der Tat ein boolescher Falsch .
Sie können es auch verwenden, um ein Berechtigungssteuerungsarray zu initialisieren, z. B.:
<?php
$permissions = ['read', 'write', 'delete', 'publish'];
$userPermissions = array_fill_keys($permissions, false);
// Sie können anschließend Strom basierend auf Benutzerrollen gewähren
if ($userRole === 'editor') {
$userPermissions['read'] = true;
$userPermissions['write'] = true;
}
var_dump($userPermissions);
Wenn Sie eine Reihe von Linkschlüssel mit einem booleschen Staat wie dem Navigationsstaat der Website generieren möchten, können Sie dies tun:
<?php
$routes = [
'https://m66.net/home',
'https://m66.net/about',
'https://m66.net/contact'
];
$navActive = array_fill_keys($routes, false);
// Angenommen, die aktuelle Seite ist /about
$currentUrl = 'https://m66.net/about';
$navActive[$currentUrl] = true;
print_r($navActive);
Die Ausgabe wird sein:
Array
(
[https://m66.net/home] =>
[https://m66.net/about] => 1
[https://m66.net/contact] =>
)
Wenn Sie eine Vorlage rendern, können Sie entscheiden, ob Sie dem Navigationselement basierend auf diesem booleschen Wert eine aktive Klasse hinzufügen möchten.
Array_Fill_Keys ist eine prägnante und effiziente Funktion, die für die schnellen Erzeugung von Anfangs -Status -Arrays geeignet ist. Es ist sehr bequem, sich mit Booleschen Flags, Berechtigungskontrolle, Navigationsstatus und anderen Szenarien zu befassen.
Wenn Sie das nächste Mal ein Boolean -Array initialisieren müssen, können Sie diese Methode auch versuchen, um Ihren Code prägnanter und lesbarer zu gestalten!