假设有以下数组集合:
$users = [ ["id" => 1, "name" => "Alice", "age" => 25], ["id" => 2, "name" => "Bob", "age" => 30], ["id" => 3, "name" => "Charlie", "age" => 35] ];
我们想要返回每个用户的姓名和年龄,并以'id”作为数组的键。可以使用Laravel/Eloquent的集合(Collection)类来实现这个目标:
$collection = collect($users);
$result = $collection->mapWithKeys(function ($user) { return [$user['id'] => ['name' => $user['name'], 'age' => $user['age']]]; });
上述代码使用了mapWithKeys()方法,它接受一个回调函数并返回一个新集合,该集合的元素是数组的键值对,由回调函数返回。在这个例子中,回调函数返回一个数组,其中包含用户的姓名和年龄,以'id”作为键。最后,我们可以打印这个结果:
$result->all();
输出结果将是:
[ 1 => ['name' => 'Alice', 'age' => 25], 2 => ['name' => 'Bob', 'age' => 30], 3 => ['name' => 'Charlie', 'age' => 35] ]
下一篇:遍历一个数组n次并旋转其中的元素