PHPで配列のオブジェクトからpluckする方法


まず、以下のような配列のオブジェクトを考えましょう。

$users = [
    ['id' => 1, 'name' => 'John', 'email' => '[email protected]'],
    ['id' => 2, 'name' => 'Jane', 'email' => '[email protected]'],
    ['id' => 3, 'name' => 'Bob', 'email' => '[email protected]']
];

例として、上記の配列から全てのユーザーの名前を抽出する方法を見てみましょう。

$names = array_column($users, 'name');

array_column関数を使用することで、指定したプロパティの値を抽出することができます。上記の例では、$users配列の各要素から'name'プロパティの値を取得して新しい配列 $namesを作成しています。

もう一つの方法として、array_map関数を使用する方法があります。

$names = array_map(function($user) {
    return $user['name'];
}, $users);

array_map関数は、指定したコールバック関数を配列の各要素に適用し、新しい配列を作成します。上記の例では、コールバック関数は各オブジェクトの'name'プロパティを返します。

以上が、PHPで配列のオブジェクトからpluckする方法のシンプルな例です。この方法を応用すれば、他のプロパティや複雑な操作も行うことができます。