我有一个数组,需要筛选特定的内容,例如,我可能只想要星期五这一天的记录。据我所知,这从未成功过,但它正在使用array_filter
函数对对象进行操作。这可以实现吗?有更好的方法或者使用对象进行此操作的方式吗?
public function filterByDow($object)
{
$current_dow=5;
return array_values(array_filter($object, function ($array) use ($current_dow) {
$array = (array) $array;
if(!empty($array['day_id']) && $array['day_id'] > -1){
if($array['day_id'] != $current_dow){
return false;
}
}
return true;
}));
}
$object = $this->filterByDow($object);
示例数据可能如下:
$object = (object) array(['id' => '1', 'day_id' => 3], ['id' => '2', 'day_id' => 4]);
$array
转换为数组,因为它最初是一个对象。对于混淆的变量名称,我感到抱歉。 - sdexp