array_fill_keys

関数の概要

array_fill_keys は、指定したキーの配列に対して、すべて同じ値を持つ新しい連想配列を作成するPHPの組み込み関数です。複数のキーに対して同じ初期値を設定したい場合に便利で、配列の初期化やデフォルト値設定によく使われます。

パラメータの説明

  • array $keys : キーとして使用する値を含む配列を指定します。文字列や整数が使えます。
  • mixed $value : すべてのキーに割り当てる値を指定します。任意の型を渡せます。

戻り値

指定されたキーすべてに同じ値を持つ新しい連想配列を返します。入力のキー配列に含まれる要素がすべてキーとなり、値は $value で指定した値になります。

使用例を複数

基本的な使い方

$keys = ['apple', 'banana', 'cherry'];
$result = array_fill_keys($keys, 0);
print_r($result);

この例では、キーが『apple』『banana』『cherry』の3つで、それぞれの値が0の配列が作成されます。

文字列を値に設定する例

$keys = ['name', 'email', 'age'];
$default = '未登録';
$user_data = array_fill_keys($keys, $default);
print_r($user_data);

ここでは、ユーザー情報に使うキーに対してすべて「未登録」という文字列を初期値として設定しています。フォームの初期化などに便利です。

空配列に対する動作

$empty_keys = [];
$result = array_fill_keys($empty_keys, 'value');
var_dump($result);

空のキー配列を指定すると、結果の配列も空になります。エラーにはならず安全に使えます。

関連する関数

  • array_fill:数値インデックスで同じ値を連続して埋める
  • array_keys:配列のキーを取得する
  • array_map:配列の各要素にコールバック関数を適用

まとめ

array_fill_keys は、複数のキーに同じ値を一括で設定できる便利な関数です。配列の初期化や設定のデフォルト値作成に役立ちます。シンプルな使い方ながら、配列操作を効率的に行うための基本ツールのひとつとして覚えておくと良いでしょう。