Position actuelle: Accueil> Derniers articles> Où la clé commence-t-elle lors du remplissage d'un tableau avec array_fill ()?

Où la clé commence-t-elle lors du remplissage d'un tableau avec array_fill ()?

M66 2025-06-06

Dans PHP, la fonction Array_Fill () est un outil très pratique qui vous permet de remplir un tableau avec des valeurs spécifiées. La syntaxe de base de cette fonction est la suivante:

 array_fill(int $start_index, int $num, mixed $value): array
  • $ start_index : spécifie la touche de tableau (index) pour commencer le remplissage;

  • $ num : spécifie le nombre d'éléments à remplir;

  • $ Value : la valeur à remplir.

Mais une question courante est, lorsque vous utilisez array_fill () pour remplir un tableau, de quelle valeur la clé du tableau commence-t-elle? Et, comment PHP détermine-t-il la valeur clé?

De quelle valeur la clé commence-t-elle?

Tout d'abord, Array_Fill () nous permet de remplir le tableau à partir de toute clé donnée (index), plutôt que de partir de zéro. Autrement dit, la valeur de départ de la clé est déterminée par le paramètre $ start_index que vous fournissez.

Par exemple, considérez le code suivant:

 <?php
$array = array_fill(5, 3, "hello");
print_r($array);
?>

Sortir:

 Array
(
    [5] => hello
    [6] => hello
    [7] => hello
)

Comme vous pouvez le voir dans l'exemple ci-dessus, le tableau commence par la valeur clé 5, puis augmente de 1 tour à tour (c'est-à-dire 6, 7, etc.). Par conséquent, la valeur clé du tableau commence par la valeur spécifiée par $ start_index .

Comment déterminer la valeur clé?

Lorsque Array_Fill () remplit un tableau en PHP, la valeur de la clé est déterminée selon les règles suivantes:

  1. Clé de démarrage : fourni par le premier paramètre $ start_index de array_fill () . Il s'agit de la clé de démarrage lors du remplissage du tableau.

  2. Méthode d'incrément : la clé augmentera automatiquement. Même si le tableau est rempli de la même valeur, la clé augmentera toujours une par une de $ start_index . La méthode spécifique d'incréments est d'augmenter l'ordre entier ( $ start_index + 1, $ start_index + 2, etc.).

Circonstances spéciales

  • Clés négatives : si le $ start_index que vous fournissez est un nombre négatif, PHP le remplira en fonction des clés négatives. Par exemple:

     <?php
    $array = array_fill(-2, 3, "world");
    print_r($array);
    ?>
    

    Sortir:

     Array
    (
        [-2] => world
        [-1] => world
        [0] => world
    )
    

    Dans ce cas, la valeur clé du tableau commence à -2 et est incrémentée à -1, 0.

  • Clés non intimes : array_fill () ne prend en charge que les clés entières. Si vous essayez d'utiliser des clés non entières, il se convertira automatiquement en clés entières. Par exemple:

     <?php
    $array = array_fill("a", 3, "test");
    print_r($array);
    ?>
    

    Ce code jette un avertissement que $ start_index doit être un entier. Pour éviter cela, assurez-vous que le paramètre $ start_index passe un entier valide.

Résumer

Lorsque Array_Fill () remplit un tableau, la clé du tableau est spécifiée par le paramètre $ start_index . À partir de cette clé, les clés du tableau augmenteront progressivement. Si $ start_index est un nombre négatif, la clé sera également un nombre négatif, et l'incrémentation suit la règle du nombre négatif. Il convient de noter que Array_Fill () incrémente toujours la valeur de clé par entier, quelle que soit la valeur que vous remplissez.