1
1

[PHP] ある連想配列の一部だけキー付きで取り出して新たな連想配列に移す

Last updated at Posted at 2024-06-05

ChatGPTさんに教えてもらいました。
覚え書き用ですが参考になりましたら幸いです。

ある連想配列

例えばこういう連想配列があるとします。

sample.php
$arr1 = [
     'a' => $a,
     'b' => $b,
     'c' => $c,
     'd' => $d
 ];

この配列の一部だけ利用して、新たな連想配列として定義したい場合のやり方です。

新たな連想配列

この形に定義したいとします。

sample.php
$arr2 = [
   'b' => $b,
   'c' => $c
];

やり方

array_intersect_key関数を使用します。

sample.php
   $arr2 = array_intersect_key($arr1, array_flip(['b', 'c']));
$arr1とarray_flip(['b', 'c'])の両方のキーを比較し、重複するキー('b'と'c')のみを含む新しい配列を作成します。

これにより、$arr1から'b'と'c'に対応する要素を取得することができます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1