Lors du développement d'un système de gestion d'arrière-plan, d'une plate-forme de gestion de contenu ou d'une page d'affichage de données, nous devons souvent définir la configuration de la colonne du tableau. Par exemple, nous devrons peut-être définir des attributs tels que le titre, l'alignement et s'il faut afficher pour chaque colonne. Dans ces scénarios, la fonction array_fill_keys () peut nous aider à construire rapidement un tableau de configuration avec des "valeurs par défaut", simplifiant considérablement le processus d'initialisation de la configuration.
Array_fill_keys de PHP est une fonction intégrée qui combine un tableau de noms de clés avec une valeur par défaut unifiée pour générer un tableau associatif.
array_fill_keys(array $keys, mixed $value): array
$ touches : un tableau de noms de clés à utiliser.
$ Value : la valeur par défaut spécifiée pour chaque touche.
Supposons que nous ayons un tableau de données qui doit afficher les champs suivants:
$columns = ['id', 'username', 'email', 'status', 'created_at'];
Nous voulons fournir une configuration initiale unifiée pour ces champs, tels que:
[
'title' => '',
'align' => 'left',
'visible' => true
]
<?php
$columns = ['id', 'username', 'email', 'status', 'created_at'];
$defaultConfig = [
'title' => '',
'align' => 'left',
'visible' => true
];
// utiliserarray_fill_keysConstruisez un tableau de configuration avec des valeurs par défaut
$configs = array_fill_keys($columns, $defaultConfig);
// Exemple:Remplacer la configuration par défaut pour des champs spécifiques
$configs['id']['title'] = 'numéro de série';
$configs['username']['title'] = 'nom d'utilisateur';
$configs['email']['title'] = 'Mail';
$configs['status']['title'] = 'État';
$configs['created_at']['title'] = 'Temps de création';
// Exemple输出
echo '<pre>';
print_r($configs);
echo '</pre>';
Array
(
[id] => Array
(
[title] => numéro de série
[align] => left
[visible] => 1
)
[username] => Array
(
[title] => nom d'utilisateur
[align] => left
[visible] => 1
)
...
)
Supposons que vous souhaitiez passer ces configurations de colonne à l'extrémité frontale via l'interface, comme une adresse:
https://m66.net/api/table/config
Vous pouvez convertir $ configs en json et le sortir en avant:
header('Content-Type: application/json');
echo json_encode($configs);
Le frontal peut rendre dynamiquement des tables en fonction de ces configurations.
Si vous avez plusieurs champs avec différentes structures de configuration, vous pouvez également combiner array_map () ou remplacer manuellement la valeur par défaut;
Il peut être encore encapsulé en une fonction pour un multiplexage facile;
Remarque: array_fill_keys () est une copie superficielle. Si vous modifiez la valeur d'une certaine touche, le $ defaultConfig d'origine ne changera pas, mais soyez prudent lorsque plusieurs touches partagent la même référence Array (peut être évité par array_map () + array_merge () ).