array_fill

array_fill($zacatek, $pocet, $hodnota)

Vytvoří pole o zadaném počtu prvků, které všechny mají stejnou hodnotu. Klíče jsou čísla počínaje zadaným začátkem.

Parametry

  • $zacatek – první klíč.
  • $pocet – počet prvků. Nula vytvoří prázdné pole.
  • $hodnota – hodnota všech prvků.

Příklady

print_r(array_fill(0, 3, "x")); // Array ( [0] => x [1] => x [2] => x )
// klíče od pětky
print_r(array_fill(5, 2, 0)); // Array ( [5] => 0 [6] => 0 )
// otazníky pro dotaz s IN (…) a předpřipravené hodnoty
$ids = array(3, 8, 15);
echo "SELECT * FROM clanky WHERE id IN (" . implode(",", array_fill(0, count($ids), "?")) . ")"; // SELECT * FROM clanky WHERE id IN (?,?,?)
// nulová počítadla pro 12 měsíců
echo array_sum(array_fill(1, 12, 0)); // 0
// mřížka 2 × 3
echo json_encode(array_fill(0, 2, array_fill(0, 3, 0))); // [[0,0,0],[0,0,0]]
// počet 0 dá prázdné pole
echo count(array_fill(0, 0, "x")); // 0

Na co si dát pozor

  • Objekt se nekopíruje. Všechny prvky pak ukazují na tentýž objekt a změna jednoho se projeví ve všech. Samostatné objekty vytvořte v cyklu.
  • Záporný počet znamená v PHP 7 varování a false, od PHP 8.0 výjimku ValueError.
  • Se záporným začátkem má v PHP 7 a 8.0–8.2 druhý prvek klíč 0, až od PHP 8.3 klíče pokračují po jedné (-3, -2, -1).
  • Pole s textovými klíči vytvoří array_fill_keys(), řadu různých čísel range().

Příbuzné funkce:
array_fill_keys()
array_pad()
range()