array_fill

配列を指定した値で埋める

説明

array array_fill(int $start_index, int $count, mixed $value)

パラメータ value を値とする count 個のエントリからなる配列を埋めます。 この際、キーは、start_index パラメータから開始します。

パラメータ

start_index

返される配列の最初のインデックス。

PHP 8.0.0 より前のバージョンでは、 start_index が負の場合、 返される配列の最初のインデックスが start_index となり、それ以降のインデックスはゼロから始まっていました。 PHP 8.0.0 以降のバージョンでは、 start_index が負の場合でも、 インデックスの値が通常通りインクリメントされるようになっています。 (を参照ください)。

count

挿入する要素数。 ゼロ以上の数でなければなりません。 かつ、2147483647 以下である必要があります。

value

要素に使用する値。

戻り値

値を埋めた配列を返します。

エラー / 例外

count が範囲外の値の場合に、 ValueError がスローされます。

変更履歴

バージョン 説明
8.0.0 count が範囲外の値の場合に、 ValueError がスローされるようになりました。 これより前のバージョンでは、 E_WARNING が発生し、false を返していました。

例1 array_fill の例

<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>

上の例の出力は以下となります。

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

例2 最初のインデックスが負の場合の、array_fill の例

<?php
$a = array_fill(-2, 4, 'pear');
print_r($a);
?>

上の例の PHP 7 での出力は、このようになります。

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

上の例の PHP 8 での出力は、このようになります。:

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

PHP 8.0.0 より前のバージョンでは、 -1 が存在していないことに注意しましょう。

注意

負の値をキーに指定した場合についての詳細な説明は、マニュアルの 配列 のセクションを参照ください。

参考

  • array_fill_keys
  • str_repeat
  • range