array_fill - wypełni tablicę podaną wartością
array array_fill (int $indeks_początkowy, int $ilosc, mixed $wartość)
array_fill() wypełni tablicę wartością $wartość (łańcuch lub liczba), począwszy od indeksu $indeks_początkowy przez $ilosc kolejnych elementów tablicy. Od PHP 5.6 $ilosc może przyjmować wartość zero - wcześniejsze wersje musiały mieć tę wartość >0.
$tablica2 = array_fill(0, 11, 'żółty'); print_r($tablica2); echo '<br>';
Array ( [0] => żółty [1] => żółty [2] => żółty [3] => żółty [4] => żółty [5] => żółty [6] => żółty [7] => żółty [8] => żółty [9] => żółty [10] => żółty )
Gdyby nie było array_fill, podobne rezultaty wypełniania tablicy trzeba byłoby robić "na piechotę":
function array_pattern($input_array, $repeat_count) { $output_array=array(); for($count = 1; $count < $repeat_count; $count++) { $output_array = array_merge($output_array, $input_array); } return $output_array; } $tablica3 = array ("żółty"); $c = array_pattern ($tablica3, 12); print_r($c);
Array ( [0] => żółty [1] => żółty [2] => żółty [3] => żółty [4] => żółty [5] => żółty [6] => żółty [7] => żółty [8] => żółty [9] => żółty [10] => żółty )
Przykład na wypełnienie tablicy od szóstego indeksu:
$tablica2 = array_fill(6, 11, 'żółty'); print_r($tablica2); echo '<br>';
Array ( [6] => żółty [7] => żółty [8] => żółty [9] => żółty [10] => żółty [11] => żółty [12] => żółty [13] => żółty [14] => żółty [15] => żółty [16] => żółty )
$b = array_fill(-2, 4, 'jabłka'); print_r($b);
Array ( [-2] => jabłka [0] => jabłka [1] => jabłka [2] => jabłka )
Jak widać, mamy bałagan w indeksach.
$c = array_fill_keys(range(-2,1),'jabłka'); //these are negative indices
Array ( [-2] => jabłka [-1] => jabłka [0] => jabłka [1] => jabłka )
Utworzenie tablicy - matrycy 10 na 10:
$a = array_fill(0, 10, array_fill(0, 10, 0)); print_r($a);
Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [1] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [2] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [3] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [4] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [5] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [6] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [7] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [8] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) [9] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 ) )