php |多维数组排序
我有一个数组,需要排序(基于id):php |多维数组排序,php,arrays,sorting,usort,Php,Arrays,Sorting,Usort,我有一个数组,需要排序(基于id): 数组 ( [0]=>阵列 ( [数量]=>1 [id]=>3 [名称]=>名称1 [sku]=>型号1 [选项]=> [价格]=>100.00 ) [1] =>阵列 ( [数量]=>2 [id]=>1 [名称]=>名称2 [sku]=>型号1 [选项]=>颜色:黑色(+10$)。内存:32GB(+99$)。 [价格]=>209.00 ) ) 是否可以对数组进行排序以获得输出(基于id) 数组 ( [0]=>阵列 ( [数量]=>2 [id]=>1 [名称]
数组
(
[0]=>阵列
(
[数量]=>1
[id]=>3
[名称]=>名称1
[sku]=>型号1
[选项]=>
[价格]=>100.00
)
[1] =>阵列
(
[数量]=>2
[id]=>1
[名称]=>名称2
[sku]=>型号1
[选项]=>颜色:黑色(+10$)。内存:32GB(+99$)。
[价格]=>209.00
)
)
是否可以对数组进行排序以获得输出(基于id)
数组
(
[0]=>阵列
(
[数量]=>2
[id]=>1
[名称]=>名称2
[sku]=>型号1
[选项]=>颜色:黑色(+10$)。内存:32GB(+99$)。
[价格]=>209.00
)
[1] =>阵列
(
[数量]=>1
[id]=>3
[名称]=>名称1
[sku]=>型号1
[选项]=>
[价格]=>100.00
)
)
谢谢 试试看
$id_arr = array();
foreach ($my_arr as $key => $value)
{
$id_arr[$key] = $value['id'];
}
array_multisort($id_arr, SORT_DESC, $my_arr);
您还可以放置
SORT\u ASC
以确认订单。最好将order BY id
添加到用于获取此结果数组的查询中这应该可以回答您的问题:这看起来也像是数据库查询的结果。在查询中使用orderby
子句不是更好地处理这个问题吗?
function cmp($a, $b) {
return $a["id"] - $b["id"];
}
usort($arr, "cmp");//$arr is the array to sort
$id_arr = array();
foreach ($my_arr as $key => $value)
{
$id_arr[$key] = $value['id'];
}
array_multisort($id_arr, SORT_DESC, $my_arr);
function cmp($a, $b) {
return $a["id"] - $b["id"];
}
usort($arr, "cmp");//$arr is the array to sort