キーと値の2つの配列を結合して、新たな連想配列を作る「array_combine」と「combine(Laravel)」関数について紹介します。
array_combine
array_combine
は PHP標準の関数で、キーと値の2つの配列を結合して、新しい連想配列を作る関数です。
言葉だけではイメージしにくいと思いますので、サンプルコードで動きを確かめてみましょう。
$key_ary = array("A","B","C");
$value_ary = array("1","2","3");
$new_ary = array_combine($key_ary, $value_ary);
print_r($new_ary);
上のコードを実行すると次の結果が得られます。
Array
(
[A] => 1
[B] => 2
[C] => 3
)
このように、array_combine
関数は、引数の1つ目に渡した配列をキーに、2つ目に渡した配列を値にした連想配列を返します。
キーにする配列に重複する値が存在する場合
キーにする配列に重複する値が存在する場合、array_combine
関数は重複を取り除いた連想配列を返します。
実際に試してみましょう。
$key_ary = array("A","A","C");
$value_ary = array("1","2","3");
$new_ary = array_combine($key_ary, $value_ary);
print_r($new_ary);
■ 実行結果
Array
(
[A] => 2
[C] => 3
)
combine(Laravel)
Laravel の Collection
で、array_combine
と同じようなことする場合は combine
関数を使用します。
$key_col = collect(["A","B","C"]);
$combined = $key_col->combine(collect([1, 2, 3]));
$combined->all();
■ 実行結果
=> [
"A" => 1,
"B" => 2,
"C" => 3,
]
0 件のコメント:
コメントを投稿