関数の概要
PHPのarray_fill関数は、指定した数だけ同じ値を持つ配列を簡単に作成するための関数です。初期化やテストデータの作成、設定値の一括準備などに便利です。連続した添字を持つ配列が返され、繰り返し同じ値をセットしたい場合に最適です。
パラメータの説明
int $start_index: 配列の開始添字を指定します。負の値も指定可能です。int $count: 作成する配列の要素数を指定します。必ず0以上の整数を指定してください。mixed $value: 配列の各要素にセットする値です。任意のデータ型が使用可能です。
戻り値
指定した件数分、同じ値を持つ連続添字の配列が返されます。$start_indexから始まる連続添字の配列になるため、キーにも注意しましょう。
使用例
基本的な使い方
<?php
$array = array_fill(0, 5, "apple");
print_r($array);
?>
この例では、添字0から始まる5つの要素すべてに「apple」がセットされた配列が作成されます。
異なる開始添字を指定する
<?php
$array = array_fill(3, 4, 100);
print_r($array);
?>
開始添字を3に設定すると、キーは3~6の4要素となり、各要素は100に設定されます。
負の添字を使う場合
<?php
$array = array_fill(-2, 3, true);
print_r($array);
?>
添字に負の値を指定することもでき、-2からの3つの連続キー(-2、-1、0)にtrueがセットされます。
多様なデータ型での利用
<?php
$array = array_fill(1, 3, array("id" => 1, "name" => "John"));
print_r($array);
?>
値に配列やオブジェクトなど複雑なデータ型も指定できるため、構造化されたデータの複製にも使えます。
関連する関数
- array_fill_keys — 複数のキーに対して同じ値をセットする
- array_map — 配列の各要素にコールバック関数を適用する
- array_pad — 配列の長さを指定して不足分を埋める
- range — 指定範囲の連続した値の配列を作成する
まとめ
array_fillは、PHPで簡単に同じ値を持つ配列を連続した添字で作成するための基本的かつ便利な関数です。特定のキーから開始でき、配列やオブジェクトなど多彩な値をセットできるため、実務における初期化処理やテストデータ作成に重宝します。類似関数と併せて使い分けることで配列操作の幅が広がります。
