php 多维数组排序

如图:如何能保留内容的前提下按照方块里面的内容排序.递归还是有函数?... 如图:如何能保留内容的前提下按照方块里面的内容排序.递归还是有函数? 展开
 我来答
s524797336
推荐于2016-08-28 · TA获得超过180个赞
知道小有建树答主
回答量:126
采纳率:100%
帮助的人:188万
展开全部
$arr = array();
for ($i = 0; $i <= 5; $i++) {
$arr[$i]['Total'] = array("attribute" => array("AmountBeforTax" => rand()));
}
//以上是你的数组的简化版本
$key_arr = array();
//声明索引数组
foreach ($arr as $k => $v) {
$key_arr[$k] = $v['Total']['attribute']['AmountBeforTax'];
//将需要排序的数值加入到数组中
}
//现在$key_arr就是索引数组,是键值的关系表
array_multisort($arr, SORT_ASC, $key_arr);
//进行排序
echo "<pre>";
print_r($arr);
echo "</pre>";

有不明白的地方可以追问,满意请采纳 谢谢

追问
谢谢,结果输出出来了,但是我想让他按照 刚刚的价格字段从小到大排序一下,排序结果好像不对呢?是不是我的数据类型是价格99.00这种的问题
追答

应该不是,我试过了 浮点数也是可以排序的,贴上你的代码,或者仔细检查一下,应该是没问题的

$arr = array();
$arr1 = array(
(float) 29.00,
(float) 1.00,
(float) 4.00,
(float) 5.00,
(float) 300.00,
(float) 40.00
);
for ($i = 0; $i <= 5; $i++) {
$arr[$i]['Total'] = array("attribute" => array("AmountBeforTax" => $arr1[$i]));
}
//以上是你的数组的简化版本
$key_arr = array();
//声明索引数组
foreach ($arr as $k => $v) {
$key_arr[$k] = $v['Total']['attribute']['AmountBeforTax'];
//将需要排序的数值加入到数组中
}
//现在$key_arr就是索引数组,是键值的关系表
array_multisort($arr, SORT_ASC, $key_arr);
//进行排序
echo "<pre>";
print_r($arr);
echo "<pre>";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式