2 回答

TA贡献1951条经验 获得超3个赞
小心你的数组中的数据对象,你无法访问 $row['name'] 应该是 $row->name ....
uasort($out,fn ($prev,$next)=>$prev->name<=>$next->name);
print_r($out);
适用于7.4以下版本
$sortedArray=uasort($array,function($prev,$next){
return $prev->name<=>$next->name;
});
print_r($sortedArray);
使用 foreach 迭代数据
foreach($out as $item)
{
echo $item->name ; //will work
echo $item['name']//will not working
}
通过 ArrayObject 和 oop
$arrayObject = new ArrayObject($out);
$arrayObject->uasort(function ($a,$b){
return $a->name<=>$b->name;
});
print_r($arrayObject->getArrayCopy());

TA贡献1772条经验 获得超8个赞
您的数组是对象数组,而不是关联数组的数组。您可以将语法更改为:$sorted[$key] = $row->name;
或者如果您希望将其作为关联数组,则可以键入强制转换它:
$row = (array)$row; $sorted[$key] = $row['name'];
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报