array_fill_keys() - 配列を指定した値で埋める
公開日:
array_fill_keys
は、配列の全ての値を、第2引数に指定した値で埋める関数です。第1引数の配列の値は、新しい配列ではキーとなります。
構文
パラメータ
$keys
対象の配列。
$value
埋める値。
返り値
array
第1引数の配列を、第2引数の値で埋めた新しい配列。第1引数の配列で値だったものは、新しい配列ではキーとなる。
サンプルコード
配列の値を埋める
新しい作成される配列では、第1引数の配列の各値がキーとなり、第2引数で指定した値が値となります。
php
<?php
// 配列
$queue = [ "a", "b", "c", "d", "e" ] ;
// 埋める値
$value = "A" ;
// 実行
$result = array_fill_keys( $queue, $value ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[a] => A
[b] => A
[c] => A
[d] => A
[e] => A
)
文字列以外の値
第2引数は文字列以外でも大丈夫です。例えば配列を指定すれば、多次元配列が作られます。
php
<?php
// 配列
$queue = [ "a", "b", "c" ] ;
// 埋める値
$value = [ "A", "B", "C" ] ;
// 実行
$result = array_fill_keys( $queue, $value ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[a] => Array
(
[0] => A
[1] => B
[2] => C
)
[b] => Array
(
[0] => A
[1] => B
[2] => C
)
[c] => Array
(
[0] => A
[1] => B
[2] => C
)
)
多次元配列の場合
基本となる配列が多次元配列の場合でも、ルールは同じです。値がキーに変わります。
php
<?php
// 配列
$queue = [
"a" => "あ" ,
"b" => "い" ,
"c" => "う" ,
] ;
// 埋める値
$value = "A" ;
// 実行
$result = array_fill_keys( $queue, $value ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[あ] => A
[い] => A
[う] => A
)
サンドボックス
ソースコードを編集してarray_fill_keys()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。