Aktueller Standort: Startseite> Neueste Artikel> Erstellen Sie eine Konfigurationsarray -Vorlage mit Standardstruktur

Erstellen Sie eine Konfigurationsarray -Vorlage mit Standardstruktur

M66 2025-06-05

In der tatsächlichen Entwicklung, insbesondere im Umgang mit Benutzerkonfiguration oder mehreren Formulareinstellungen, müssen wir häufig ein Konfigurationsarray mit einer einheitlichen Struktur und ähnlichen Inhalten erstellen. Um das wiederholte Schreiben von Code mit derselben Struktur zu vermeiden, wird die Funktion von PHP von Array_Fill () zu einem sehr praktischen Werkzeug.

In diesem Artikel wird vorgestellt, wie Sie eine Konfigurationsarray -Vorlage mit einer Standardstruktur mit Array_Fill () erstellen und durch einen realen Fall demonstrieren.

Was ist Array_Fill () ?

Array_Fill () ist eine integrierte Funktion in PHP, die ein Array mit angegebenen Werten füllt.

Funktionsprototyp:

 array_fill(int $start_index, int $count, mixed $value): array
  • $ start_index : Der Startindex des Arrays.

  • $ count : Die Anzahl der zugefügten Elemente.

  • $ Wert : Der Standardwert für jedes Element.

Erstellen Sie ein Beispiel für eine Konfigurationsvorlage

Nehmen wir an, wir entwickeln ein Benutzer -Berechtigungsverwaltungssystem und müssen für jede Benutzerrolle ein Berechtigungskonfigurationsarray erstellen. Jedes Konfigurationselement enthält die folgende Standardstruktur:

 [
    'read' => false,
    'write' => false,
    'delete' => false,
    'manage' => false,
    'callback_url' => 'https://m66.net/api/callback'
]

Wenn wir eine solche Konfiguration für 5 verschiedene Rollen initialisieren müssen, ist mit Array_Fill () sehr effizient.

Beispielcode

 <?php

// Definieren Sie die Standardstruktur
$defaultPermission = [
    'read' => false,
    'write' => false,
    'delete' => false,
    'manage' => false,
    'callback_url' => 'https://m66.net/api/callback'
];

// erstellen 5 Array der Rollenkonfiguration
$roles = array_fill(0, 5, $defaultPermission);

// Optional:Weisen Sie jeder Rolle einen Namen zu(Zum Beispiel admin、editor Warten)
$roleNames = ['admin', 'editor', 'author', 'subscriber', 'guest'];
$config = array_combine($roleNames, $roles);

// Drucken Sie die Ergebnisse aus, um dies zu überprüfen
print_r($config);

Das Ausgabeergebnis ist wie folgt:

 Array
(
    [admin] => Array
        (
            [read] => 
            [write] => 
            [delete] => 
            [manage] => 
            [callback_url] => https://m66.net/api/callback
        )

    [editor] => Array
        (
            [read] => 
            [write] => 
            [delete] => 
            [manage] => 
            [callback_url] => https://m66.net/api/callback
        )

    ...
)

Dinge zu beachten

  1. Zitatproblem : Das gleiche Referenzobjekt wird mit Array_Fill () (besonders wichtig für Arrays) gefüllt. Wenn Sie die Konfiguration einer der Rollen in der Zukunft ändern, werden auch die anderen Rollen betroffen.

Um dieses Problem zu vermeiden, können Sie array_map () mit einer anonymen Funktion verwenden:

 $roles = array_map(function () use ($defaultPermission) {
    return $defaultPermission;
}, range(1, 5));
  1. Strukturelle Konsistenz : Diese Methode eignet sich für Initialisierungsszenarien, in denen noch keine strukturelle Konsistenz bestimmt wird.