按特定列值按降序对二维数组进行排序[重复]

问题描述 投票:0回答:2

我有数组

[
    ['value' => 1, 'label' => 'General'],
    ['value' => 2, 'label' => 'Wholesale Customers'],
    ['value' => 3, 'label' => 'Public Customers'],
    ['value' => 4, 'label' => 'Managers'],
]

它是一个二维数组;在每个索引中,我有 2 个键:

value
label
。是否可以根据
label
(Z-A) 对这个数组进行排序?

想要的结果:

[
    ['value' => 2, 'label' => 'Wholesale Customers'],
    ['value' => 3, 'label' => 'Public Customers'],
    ['value' => 4, 'label' => 'Managers'],
    ['value' => 1, 'label' => 'General'],
]
php arrays sorting multidimensional-array
2个回答
1
投票
function myfun($val1, $val2){
    return ($val1["lable"]<$val2["lable"]) ? 0:1;
}

usort($myarr, "myfun");

print_r($myarr);

0
投票

PHP 函数

array_multisort()
应该可以为你做到这一点。请查看此页面了解更多信息。

如果没有,那么函数

uksort()
肯定会起作用 - 因为您正在为其提供自己的比较函数。看看这里

© www.soinside.com 2019 - 2024. All rights reserved.