[PHP]2つの配列から連想配列を作る array_combine、combine(Laravel)を紹介

2022年8月4日木曜日

PHP

t f B! P L

キーと値の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,
   ]
スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ