我有这个数组(集合):
$collect = collect([
'governorate_id' => $request->governorate_id,
'area_id' => $request->area_id,
]);
我需要只取request中包含值的一个,忽略另一个(比如当governorate_id
为满时,忽略area_id
并反转)。
$collect = collect([
'governorate_id' => $request->governorate_id,
'area_id' => $request->area_id,
]);
$collect->each(function ($item, $key) {
// do something..
});
dd for $collect :
Illuminate\Support\Collection {#1395 ▼
#items: array:2 [▼
"governorate_id" => array:2 [▼
0 => "2"
1 => "3"
]
"area_id" => null
]
}
下面将返回非空的“值”键-值对。
return $collect->filter();
两种组合都试过了。
collect(['area_id' => '122', 'governorate_id' => '', ])
collect(['area_id' => '', 'governorate_id' => 123, ])
较长的版本;
$collect->reject(function ($item) {
return empty($item);
});
如果你只需要值;
return $collect->first(function ($item) {
return !empty($item);
});