假设我们有:
$collection;
Illuminate\Support\Collection {#312
#items: array:20 [
"id" => 1
"externals" => {#314
+"anothertypeofid": 2
+"evenAnother": 3
+"foobar": 4
}
]
}
有没有办法获得foobar而不检查它是否存在于集合中。如果没有,则返回null。
// you got.
$collection->get('id'); // Will return null if it does not exists.
// But you cannot do
$collection->get('externals.foobar');
实现这一目标的最快方法是什么?
更新:
最后我想返回一个新数组
return [
'anothertypeid' : value of collection>externals>anothertypeofid or null,
'namedDifferently': value of collection>externals>foobar or null
]
所以我在想这样的事情。
return [
'anothertypeid' => $collect->pluck('anothertypeofid')->filter()->first(),// must return null if it does not exists in collection.
...
]
我也可以将集合转换为数组并使用帮助器 array_get()
return [
'anothertypeid' => array_get($array,'externals.anothertypeofid',null);
// will return null if not found
...
]
有更清洁和/或更有效的方法吗?