如何在没有MYSQL订单的情况下对数组进行排序?
我有一个名为sort的键值,这是1,2,3,0等。我打印的数组没问题,但我需要根据排序值将此数组从低到高排序。我怎么能这样做?
foreach($res as $key=>$value){
$res[$key]['subaddonsname'] = $this->getValue("addonsname",$CFG['table']['addons'],"id = '".$res[$key]['menuaddons_addonsname']."' ");
$newArr[$key]['subaddonsort'] = $this->getValue("addonsort",$CFG['table']['addons'],"id = '".$res[$key]['menuaddons_addonsname']."' ");
}
echo "<pre>";print_r($res);echo "</pre>";exit();
此结果
Array
(
[0] => Array
(
[menuaddons_id] => 4667
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 837
[menuaddons_priceoption] => Free
[menuaddons_price] => 0.00
[subaddonsname] => Visfilet
[subaddonsort] => 7
)
[1] => Array
(
[menuaddons_id] => 4668
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 835
[menuaddons_priceoption] => Free
[menuaddons_price] => 0.00
[subaddonsname] => Tofu
[subaddonsort] => 6
)
[2] => Array
(
[menuaddons_id] => 4669
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 836
[menuaddons_priceoption] => Free
[menuaddons_price] => 0.00
[subaddonsname] => Omelet
[subaddonsort] => 5
)
[3] => Array
(
[menuaddons_id] => 4670
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 841
[menuaddons_priceoption] => Paid
[menuaddons_price] => 1.95
[subaddonsname] => Lamsvlees
[subaddonsort] => 4
)
[4] => Array
(
[menuaddons_id] => 4671
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 838
[menuaddons_priceoption] => Paid
[menuaddons_price] => 0.45
[subaddonsname] => Kipfilet
[subaddonsort] => 3
)
[5] => Array
(
[menuaddons_id] => 4672
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 839
[menuaddons_priceoption] => Paid
[menuaddons_price] => 1.35
[subaddonsname] => Garnalen
[subaddonsort] => 2
)
[6] => Array
(
[menuaddons_id] => 4673
[addonparentid] => 834
[menuaddons_restaurantid] => 29
[menuaddons_menuid] => 8137
[menuaddons_addonsname] => 840
[menuaddons_priceoption] => Paid
[menuaddons_price] => 1.35
[subaddonsname] => Biefstuk
[subaddonsort] => 1
)
)
答案 0 :(得分:1)
您也可以这样做
usort($res, function($a, $b) {
if ($a['subaddonsort'] == $b['subaddonsort']) return 0;
return $a['subaddonsort'] < $b['subaddonsort'] ? -1 : 1;
});
答案 1 :(得分:0)
PHP的sort functionality非常适合所有场合。
鉴于您的问题和PHP文档的详细信息,您似乎需要使用asort()
函数:
asort($res);
die('<pre>' . print_r($res, true) . '</pre>');