动态地从PHP中的stdClass中提取元素

时间:2017-06-16 07:55:39

标签: php laravel

我有从Laravel ORM结果返回的stdClass,如下所示, enter image description here

我知道我可以使用$ object-> Tables_in_questip3_qgen访问该值,但“Tables_in_questip3_qgen”是动态的。这可以更改为任何字符串,我想只从第一个元素中提取值。我希望跨行只有adj_table,admin_fi和admin_fi_acount值。

1 个答案:

答案 0 :(得分:3)

在Laravel 5+中你可以这样做:

collect($object)->map(function ($v) {
     return head((array)$v);
});

获取任意项目的子数组(按其出现的顺序):

$indices = [ 0, 1 ];
collect($object)->map(function ($v) use ($indices) {
     $inner = collect($v)->values();
     return $inner->only($indices); //This will return the requested indices as a collection, but you can realistically do whatever you want with them like e.g. ->implode or ->toArray
});