php |多维数组排序

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 [名称]

我有一个数组,需要排序(基于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
[名称]=>名称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