- 已关闭**。此问题为opinion-based。当前不接受答案。
- 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
昨天关门了。
Improve this question
我正在写一个函数,我有多个返回值,我觉得有一个更好的方法来写我的函数,我应该在我的array_filter中使用usort,这就是我的想法。
这是我的职责
public function initializeTopics($data): array
{
$topics = $data['topics'];
// sort topics by expiry date, closes first
usort($topics, function($first, $next) {
if(is_null($first['expiryDate'])) return 1;
if(is_null($next['expiryDate'])) return -1;
// otherwise ascending
return $first['expiryDate'] <=> $next['expiryDate'];
});
return array_filter($topics, function ($var) {
return (in_array($var['statusName'], $this->statusToSchedule));
});
}
有没有更好的方法来写,因为我用了很多的return
1条答案
按热度按时间vuktfyat1#
你可以稍微修改一下
usort()
,但这取决于你的expiryDate
字段的外观。我们不知道。假设你存储的日期如下:“2022-12-26”,那么你可以做:使用空合并算子。
如果你的
expiryDate
是一个正整数,你可以这样做:显然,
usort()
函数需要一个return,这并没有错。