SYNCER

SYNCER

array_fill_keys() - 配列を指定した値で埋める

公開日:

array_fill_keysは、配列の全ての値を、第2引数に指定した値で埋める関数です。第1引数の配列の値は、新しい配列ではキーとなります。

構文

array array_fill_keys ( array $keys , mixed $value )

パラメータ

$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()の挙動を確認して下さい。

Array
(
    [a] => A
    [b] => A
    [c] => A
    [d] => A
    [e] => A
)

参考リンク

  • PHP - 公式マニュアル。