Bei der Entwicklung von Anwendungen, insbesondere von Systemen, an denen die Verwaltung von Benutzerberechtigungen beteiligt ist, sind in der Regel einige Berechtigungsfelder erforderlich, um die Initialisierung zu stapeln. PHP bietet eine sehr praktische Funktion array_fill_keys , mit der wir diese Funktion schnell implementieren können. In diesem Artikel wird vorgestellt, wie die Funktion array_fill_keys verwendet wird, um das Feld "Benutzerberechtigte" zu stapeln.
Die Funktion array_fill_keys wird verwendet, um ein Array mit angegebenen Schlüssel zu füllen. Die Syntax der Funktion lautet wie folgt:
array array_fill_keys(array $keys, mixed $value);
$ KEYS : Ein Array mit allen Schlüssel.
$ Wert : Der Inhalt, der zum Füllen des Arraywerts verwendet wird.
Diese Funktion erstellt ein neues Array, die Schlüssel des Arrays ist jedes Element im eingehenden $ Schlüsselarray, und der entsprechende Wert ist der Wert des Parameters von $ Wert .
Angenommen, wir entwickeln ein Benutzerverwaltungssystem, das für jeden Benutzer eine Initialisierung einer Reihe von Berechtigungsfeldern erfordert. Der Name jedes Berechtigungsfelds ist festgelegt, und wir möchten einen Standardwert für jedes Berechtigungsfeld festlegen (z. B. Falsch bedeutet, dass die Berechtigung nicht aktiviert ist).
Zum Beispiel haben wir die folgenden Berechtigungsfelder:
can_edit
can_delete
can_create
can_view
Wir können die Funktion array_fill_keys verwenden, um die Standardwerte für diese Felder initialisieren.
<?php
// Definieren Sie alle Berechtigungsfelder
$permissions = [
'can_edit',
'can_delete',
'can_create',
'can_view'
];
// verwenden array_fill_keys Initialisieren Sie alle Berechtigungsfelder auf false
$user_permissions = array_fill_keys($permissions, false);
// Drucken initialisierte Berechtigungsarray
print_r($user_permissions);
?>
Array
(
[can_edit] =>
[can_delete] =>
[can_create] =>
[can_view] =>
)
Über den obigen Code verwenden wir Array_Fill_Keys , um ein neues Array $ user_permissions zu erstellen, wobei jedes Berechtigungsfeld auf False initialisiert wird, was darauf hinweist, dass der Benutzer diese Berechtigungen nicht hat.
Wenn wir während des Systembetriebs den Wert eines bestimmten Berechtigungsfelds aktualisieren müssen, können wir direkt auf den entsprechenden Schlüssel im Array zugreifen und einen neuen Wert zuweisen. Wenn wir beispielsweise dem Feld eines Benutzers das CAN_EDIT -Berechtigungsfeld zuweisen möchten, können wir dies tun:
// erneuern can_edit Erlaubnis ist true
$user_permissions['can_edit'] = true;
// 打印erneuern后的权限数组
print_r($user_permissions);
Wenn wir die Berechtigungsinformationen des Benutzers aus der Datenbank erhalten und der Benutzer keine Berechtigungen hat, können wir Array_Fill_Keys verwenden, um die fehlenden Berechtigungen zu initialisieren. Nehmen wir beispielsweise an, wir erhalten einen Teil des Berechtigungsfelds aus der Datenbank, und wir können Array_Fill_Keys verwenden, um den Standardwert für das fehlende Feld auszufüllen.
// Benutzerberechtigungen aus der Datenbank erhalten(Angenommen, die Datenbank gibt nur teilweise Berechtigungen zurück)
$user_permissions_from_db = [
'can_edit' => true,
'can_view' => false
];
// Definieren Sie alle Berechtigungsfelder
$all_permissions = ['can_edit', 'can_delete', 'can_create', 'can_view'];
// Erhalten Sie fehlende Berechtigungsfelder,und füllen Sie den Standardwert aus
$missing_permissions = array_diff($all_permissions, array_keys($user_permissions_from_db));
$missing_permissions = array_fill_keys($missing_permissions, false);
// Merge erworbene Berechtigungen mit fehlenden Berechtigungen
$user_permissions = array_merge($user_permissions_from_db, $missing_permissions);
// Drucken Sie Endbenutzerberechtigungen aus
print_r($user_permissions);
Array
(
[can_edit] => 1
[can_view] =>
[can_delete] =>
[can_create] =>
)
Die Verwendung der Funktion array_fill_keys kann die Stapelinitialisierung von Benutzerberechtigungsfeldern, insbesondere in Berechtigungsverwaltungssystemen, erleichtern. Durch die Angabe eines Standardwerts für jedes Berechtigungsfeld können wir bei der Initialisierung die Konsistenz der Benutzerberechtigungen sicherstellen. Gleichzeitig können wir, wenn die Berechtigungsinformationsquelle unvollständig ist, auch fehlende Felder auch ausfüllen, um die Integrität und Robustheit des Systems zu gewährleisten.
Hoffentlich kann dieser Artikel Ihnen helfen, besser zu verstehen, wie Sie die Funktion von PHP von Array_Fill_keys verwenden, um das Feld Benutzerberechtigte zu initialisieren und in tatsächlichen Projekten anzuwenden.