[PHP]便利な配列操作関数メモ_生成編

// 操作対象の配列
$list1 = ['a' => 'aa', 'b' => 'bb', 'c' => 'cc', 'd' => 'dd'];
$list2 = ['e' => 'aa', 'f' => 'ff', 'g' => 'gg', 'h' => 'dd'];

$twoDList = ['a' => ['x' => 11, 'y' => 'aa'],
            'b' => ['x' => 22, 'y' => 'bb'],
            'c' => ['x' => 33, 'y' => 'cc'],];

array_combine
第1引数の配列の値をキーに、第2引数の配列の値を値として新たな配列を生成する。
2つの引数の要素数が不一致の場合はfalseを返す。

$result = array_combine($list1, $list2);

print(var_export($result, true));
/*
array (
 'aa' => 'aa',
 'bb' => 'ff',
 'cc' => 'gg',
 'dd' => 'dd',
)
*/

array_fill
指定した値を設定した配列を生成する。
埋める数は0以上が必要。

$startIndex = 0;
$count = 3;

$value = 'zz';
$result = array_fill($startIndex, $count, $value);

print(var_export($result, true));
/*
array (
 0 => 'zz',
 1 => 'zz',
 2 => 'zz',
)
*/

array_fill_keys
指定したキーに対し値を設定した配列を生成する。

$result = array_fill_keys($list1, 'zz');

print(var_export($result, true));
/*
array (
 'aa' => 'zz',
 'bb' => 'zz',
 'cc' => 'zz',
 'dd' => 'zz',
)
*/

[reference]

array_combine | PHP.net
array_fill | PHP.net
array_fill_keys | PHP.net

この記事が気に入ったらサポートをしてみませんか?