我有一个php函数,它用类别数据构建一个数组,如下所示:
$categories = array();
foreach($catIds as $catId) {
$category = Mage::getModel('catalog/category')->load($catId);
$categories[$category->getName()] = array(
'url' => $category->getUrl(),
'img' => $category->getImageUrl(),
'thumb' => Mage::getBaseUrl('media').'catalog' . DS . 'category' . DS.$category->getThumbnail(),
'position' => $category->getPosition()
);
}
我想按"position"值对$categories数组进行排序。我尝试了ksort和array_multiport的一些变体,但一直未能找到解决方案。
usort--使用用户定义的比较函数按值对数组进行排序
usort($categories, function($a, $b){
$a = $a['position'];
$b = $b['position'];
if($a == $b)
{
return 0;
}
return ($a < $b) ? -1 : 1;
});
这是假设位置是一个数值,并且您正在升序排序。