Position actuelle: Accueil> Derniers articles> Créer un modèle de tableau de configuration avec une structure par défaut

Créer un modèle de tableau de configuration avec une structure par défaut

M66 2025-06-05

Dans le développement réel, en particulier lorsque vous traitez avec une configuration utilisateur ou des paramètres de formulaire multiple, nous devons souvent créer un tableau de configuration avec une structure unifiée et un contenu similaire. Afin d'éviter l'écriture répétée du code avec la même structure, la fonction Array_Fill () de PHP devient un outil très pratique.

Cet article présentera comment créer un modèle de tableau de configuration avec une structure par défaut à l'aide d'Array_Fill () et de le démontrer via un vrai cas.

Qu'est-ce que Array_Fill () ?

Array_Fill () est une fonction intégrée en PHP qui remplit un tableau avec des valeurs spécifiées.

Prototype de fonction:

 array_fill(int $start_index, int $count, mixed $value): array
  • $ start_index : l'indice de départ du tableau.

  • Nombre $ : le nombre d'éléments à insérer.

  • $ Value : la valeur par défaut pour chaque élément.

Créer un exemple de modèle de configuration

Supposons que nous développons un système de gestion de l'autorisation utilisateur et que nous devons générer un tableau de configuration d'autorisation pour chaque rôle utilisateur, chaque élément de configuration contient la structure par défaut suivante:

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

Si nous devons initialiser une telle configuration pour 5 rôles différents, l'utilisation de Array_Fill () sera très efficace.

Exemple de code

 <?php

// Définissez la structure par défaut
$defaultPermission = [
    'read' => false,
    'write' => false,
    'delete' => false,
    'manage' => false,
    'callback_url' => 'https://m66.net/api/callback'
];

// créer 5 Tableau de configuration de rôle
$roles = array_fill(0, 5, $defaultPermission);

// Facultatif:Attribuer un nom à chaque rôle(Par exemple admin、editor attendez)
$roleNames = ['admin', 'editor', 'author', 'subscriber', 'guest'];
$config = array_combine($roleNames, $roles);

// Imprimez les résultats pour vérifier
print_r($config);

Le résultat de sortie est le suivant:

 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
        )

    ...
)

Choses à noter

  1. Problème de citation : le même objet de référence est rempli de Array_Fill () (particulièrement important pour les tableaux). Si vous modifiez la configuration de l'un des rôles à l'avenir, les autres rôles seront également affectés.

Pour éviter ce problème, vous pouvez utiliser array_map () avec une fonction anonyme:

 $roles = array_map(function () use ($defaultPermission) {
    return $defaultPermission;
}, range(1, 5));
  1. Cohérence structurelle : cette méthode convient aux scénarios d'initialisation où la cohérence structurelle n'est pas encore déterminée.