为了账号安全,请及时绑定邮箱和手机立即绑定

如何从laravel中的数组中提取值?

如何从laravel中的数组中提取值?

PHP
慕妹3146593 2021-10-15 10:36:03
假设我有这个[{"id":21},{"id":22}]数组来自这个:$schedules = [];    foreach ($routes as $route) {        $schedules[] =Schedule::select('id')                        ->whereIn('route_id', $route)                        ->latest()                        ->first();      }所以,我想像这样从中提取价值[21,22],所以我这样做了:$values = $schedules->pluck('id')->toArray();这显示此错误调用数组上的成员函数 pluck()
查看完整描述

3 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

要使用您拥有的代码实现您的目标,您可以使用array_map:


$values = array_map(function ($item) {

    return $item->id;

}, $schedules);

或者,您可以简单地id通过使用->first()->id或获取初始值value('id'):


foreach ($routes as $route) {

    $schedules[] =Schedule::select('id')

                    ->whereIn('route_id', $route)

                    ->latest()

                    ->value('id');  

}


查看完整回答
反对 回复 2021-10-15
?
LEATH

TA贡献1936条经验 获得超6个赞

您可以先收集它,然后使用pluck.


我假设你有以下数据


$schedules = [

    ["id" => 21],

    ["id" => 22]

];

return collect($schedules)->pluck('id')->toArray();


查看完整回答
反对 回复 2021-10-15
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

使用array_column 仅获取值。

$values = array_column($schedules->pluck('id')->toArray(),'id');


查看完整回答
反对 回复 2021-10-15
  • 3 回答
  • 0 关注
  • 421 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信