array_fill / array_fill_keys în PHP

Tablouri (array) PHP 4.2+ (array_fill_keys: PHP 5.2+)

Creează un tablou în care toate elementele au aceeași valoare.

Sintaxă
array_fill(int $start_index, int $count, mixed $value): array

Ce face array_fill / array_fill_keys

array_fill construiește un tablou cu $count elemente identice, cu cheile numerice pornind de la $start_index.

array_fill_keys(array $keys, mixed $value) primește lista de chei și le dă tuturor aceeași valoare. Este util pentru valori inițiale: toate setările false, toate scorurile 0.

Parametri

Parametru Descriere
$start_index Prima cheie.
$count Numărul de elemente. Poate fi 0.
$value Valoarea pusă în fiecare element.

Ce returnează

Tabloul nou.

Exemple

Exemplul 1: Locuri libere într-o sală

<?php
$locuri = array_fill(1, 5, "liber");
$locuri[3] = "ocupat";

print_r($locuri);

Rezultat

Array
(
    [1] => liber
    [2] => liber
    [3] => ocupat
    [4] => liber
    [5] => liber
)

Exemplul 2: Scoruri inițiale cu array_fill_keys

<?php
$jucatori = ["Ana", "Mihai", "Ioana"];

$scoruri = array_fill_keys($jucatori, 0);
$scoruri["Mihai"] += 10;

print_r($scoruri);

Rezultat

Array
(
    [Ana] => 0
    [Mihai] => 10
    [Ioana] => 0
)

Greșeli frecvente

  • Inversezi ordinea la array_fill: primul parametru este cheia de start, al doilea numărul de elemente.

Comenzi înrudite

  • range: Creează un tablou cu un șir de numere sau de litere, de la o valoare la alta.
  • array_pad: Completează un tablou cu o valoare până ajunge la o anumită lungime.
  • array_combine: Construiește un tablou asociativ din două liste: una cu cheile și una cu valorile.