Laravelのarray_pluck関数を使った配列の特定の要素の抽出方法


  1. array_pluck関数の構文:

    array_pluck(array $array, string $value, string|null $key = null)
    • $array: 対象の配列
    • $value: 抽出したい要素のキー
    • $key (オプション): 抽出した要素をキーとする場合に指定
  2. $posts = [
       ['title' => '記事1', 'content' => '...'],
       ['title' => '記事2', 'content' => '...'],
       ['title' => '記事3', 'content' => '...'],
    ];

    タイトルのみを抽出するには、次のようにarray_pluck関数を使用します。

    $titles = array_pluck($posts, 'title');

    上記のコードを実行すると、$titles変数には次のような配列が格納されます。

    ['記事1', '記事2', '記事3']
    $posts = [
       ['title' => '記事1', 'tags' => ['Laravel', 'PHP']],
       ['title' => '記事2', 'tags' => ['JavaScript', 'Frontend']],
       ['title' => '記事3', 'tags' => ['Laravel', 'Backend']],
    ];

    タグのみを抽出するには、次のようにarray_pluck関数を使用します。

    $tags = array_pluck($posts, 'tags');

    上記のコードを実行すると、$tags変数には次のような配列が格納されます。

    [['Laravel', 'PHP'], ['JavaScript', 'Frontend'], ['Laravel', 'Backend']]

    もしタグの配列から特定の要素を抽出したい場合は、array_pluck関数をネストして使用します。例えば、Laravelのタグのみを抽出するには次のようにします。

    $laravelTags = array_pluck($posts, 'tags.Laravel');

    上記のコードを実行すると、$laravelTags変数には次のような配列が格納されます。

    ['Laravel', 'Laravel']