Position actuelle: Accueil> Derniers articles> Construisez un tableau de configuration de la colonne de table avec des valeurs par défaut

Construisez un tableau de configuration de la colonne de table avec des valeurs par défaut

M66 2025-06-06

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.

1. Qu'est-ce que Array_Fill_keys?

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.

grammaire:

 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.

2. Scénario réel: Construire un tableau de configuration de la colonne de table

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
]

Implémentation à l'aide de l'array_fill_keys:

 <?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&#39;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>';

Résultat de sortie:

 Array
(
    [id] => Array
        (
            [title] => numéro de série
            [align] => left
            [visible] => 1
        )

    [username] => Array
        (
            [title] => nom d&#39;utilisateur
            [align] => left
            [visible] => 1
        )

    ...
)

3. Combiné avec des conditions réelles: configuration de lecture de la page frontale

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.

4. Conseils

  • 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 () ).