Bei der Entwicklung eines Hintergrundverwaltungssystems, einer Content -Management -Plattform oder einer Datenanzeigeseite müssen wir häufig die Spaltenkonfiguration der Tabelle definieren. Zum Beispiel müssen wir möglicherweise Attribute wie Titel, Ausrichtung und angezeigt werden, ob für jede Spalte angezeigt werden soll. In diesen Szenarien kann die Funktion array_fill_keys () uns helfen, ein Konfigurationsarray schnell mit "Standardwerten" zu erstellen, wodurch der Prozess der Initialisierung der Konfiguration erheblich vereinfacht wird.
PHPs Array_Fill_Keys () ist eine integrierte Funktion, die ein Array von Schlüsselnamen mit einem einheitlichen Standardwert kombiniert, um ein assoziatives Array zu generieren.
array_fill_keys(array $keys, mixed $value): array
$ KEYS : Eine Reihe von Schlüsselnamen zu verwenden.
$ value : Der für jeden Schlüssel angegebene Standardwert.
Angenommen, wir haben eine Datentabelle, in der die folgenden Felder angezeigt werden müssen:
$columns = ['id', 'username', 'email', 'status', 'created_at'];
Wir möchten eine einheitliche Erstkonfiguration für diese Felder bereitstellen, z. B.:
[
'title' => '',
'align' => 'left',
'visible' => true
]
<?php
$columns = ['id', 'username', 'email', 'status', 'created_at'];
$defaultConfig = [
'title' => '',
'align' => 'left',
'visible' => true
];
// verwendenarray_fill_keysKonstruieren Sie ein Konfigurationsarray mit Standardwerten
$configs = array_fill_keys($columns, $defaultConfig);
// Beispiel:Überschreiben Sie die Standardkonfiguration für bestimmte Felder
$configs['id']['title'] = 'Seriennummer';
$configs['username']['title'] = 'Benutzername';
$configs['email']['title'] = 'Post';
$configs['status']['title'] = 'Zustand';
$configs['created_at']['title'] = 'Schöpfungszeit';
// Beispiel输出
echo '<pre>';
print_r($configs);
echo '</pre>';
Array
(
[id] => Array
(
[title] => Seriennummer
[align] => left
[visible] => 1
)
[username] => Array
(
[title] => Benutzername
[align] => left
[visible] => 1
)
...
)
Angenommen, Sie möchten diese Spaltenkonfigurationen über die Schnittstelle an das Frontend übergeben, z. B. eine Adresse:
https://m66.net/api/table/config
Sie können $ configs in JSON konvertieren und es in das vordere Ende ausgeben:
header('Content-Type: application/json');
echo json_encode($configs);
Das Front-End kann Tabellen basierend auf diesen Konfigurationen dynamisch rendern.
Wenn Sie mehrere Felder mit unterschiedlichen Konfigurationsstrukturen haben, können Sie auch Array_Map () kombinieren oder den Standardwert manuell überschreiben.
Es kann weiter in eine Funktion für ein einfaches Multiplexing eingekapselt werden.
Hinweis: Array_Fill_keys () ist eine flache Kopie. Wenn Sie den Wert eines bestimmten Schlüssels ändern, ändert sich das ursprüngliche $ defaultConfig nicht, aber seien Sie vorsichtig, wenn mehrere Tasten dieselbe Array -Referenz teilen (kann durch Array_Map () + array_merge () vermieden werden).