PHP:对数组进行排序

发布于 2024-11-19 17:33:12 字数 240 浏览 0 评论 0原文

下面的数组进行排序

Array
(
    'ben' => 1.0,
    'ken' => 2.0,
    'sam' => 1.5
)

请问我如何对

Array
(
    'ken' => 2.0,
    'sam' => 1.5,
    'ben' => 1.0
)

,谢谢。

Please how do i sort the below array

Array
(
    'ben' => 1.0,
    'ken' => 2.0,
    'sam' => 1.5
)

to

Array
(
    'ken' => 2.0,
    'sam' => 1.5,
    'ben' => 1.0
)

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

回首观望 2024-11-26 17:33:12

试试这个。

<?php
$my_array = array('ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5);

arsort($my_array);
print_r($my_array);
?>

arsort() 函数按值的相反顺序对数组进行排序。这些值保留其原始键。

try this.

<?php
$my_array = array('ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5);

arsort($my_array);
print_r($my_array);
?>

The arsort() function sorts an array by the values in reverse order. The values keep their original keys.

把梦留给海 2024-11-26 17:33:12

有一个完整的手册部分专门讨论这些事情:

http://php.net/manual/en /array.sorting.php

编辑:具体来说,arsort()

There's a whole manual section dedicated to such things:

http://php.net/manual/en/array.sorting.php

edit: specifically, arsort()

我只土不豪 2024-11-26 17:33:12
$arr = Array(
'ben' => 1.0,
'ken' => 2.0,
'sam' => 1.5
)    
$sorted = asort($arr);
$reversed = rsort($sorted);
$arr = Array(
'ben' => 1.0,
'ken' => 2.0,
'sam' => 1.5
)    
$sorted = asort($arr);
$reversed = rsort($sorted);
娇纵 2024-11-26 17:33:12

如果您使用常规 PHP 数组排序函数,您将丢失数组键。我认为达​​到您想要的效果的最短路径是这样的:

$array = array("ben" => "1.0", "ken" => "2.0", "sam" => "1.5");
array_multisort($array, SORT_DESC);
print_r($array);

确保所有数组值都是字符串或数字,否则结果将是不可预测的。

If you use regular PHP array sorting functions, you'll lose your array keys. I think the shortest path to what you want is something like this:

$array = array("ben" => "1.0", "ken" => "2.0", "sam" => "1.5");
array_multisort($array, SORT_DESC);
print_r($array);

Make sure that all of your array values are either strings or numbers, otherwise the result will be unpredictable.

孤君无依 2024-11-26 17:33:12

sort 函数应该可以工作:

sort($theArray, SORT_NUMERIC);

更新

我没有注意到你想要相反;在这种情况下,请使用 rsort

The sort function should work:

sort($theArray, SORT_NUMERIC);

Update

I didn't notice you wanted it in reverse; in that case use rsort.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文