当前位置: 首页 > 知识库问答 >
问题:

如何按数值对数组进行排序?[副本]

宋经业
2023-03-14

考虑以下数组:

Array( [Wingspan] => 5 
[Scythe] => 1 
[Spirit Island] => 2 
[Everdell] => 1)

我如何对这个数组进行排序,其中最高值(5)是第一个,然后是2然后是最低值(1)是最后一个?我用了这个:

print_r(rsort($_POST['item']), SORT_NUMERIC);

但我明白了:

Array
(
    [0] => 2
    [1] => 1
    [2] => 1
    [3] => 1
)

它改变了键,但这是错误的。我希望得到这个:

Array( [Wingspan] => 5 
[Spirit Island] => 2 
[Scythe] => 1 
[Everdell] => 1)

我搜索发现:按数值排序一个数组,但这没有帮助。

共有1个答案

司马洲
2023-03-14

使用方法

arsort($_POST['item'])

而不是rsort。rsort只对简单数组起作用,对关联数组不起作用。但无论如何,通常如果te项的顺序对您来说很重要,可能关联数组不是最好的选择。您可以使用一个简单的数组,其中对象同时包含值和键

 类似资料:
  • 问题内容: 如何按“订单”键的值对该数组排序?即使这些值当前是连续的,也不会总是如此。 问题答案: 尝试使用usort,如果您仍然使用PHP5.2或更早版本,则必须首先定义一个排序函数: 从PHP 5.3开始,您可以使用匿名函数: 最后,在PHP 7中,您可以使用spaceship运算符: 要将其扩展到多维排序,如果第二个/第三个排序元素为零,请参考第二个/第三个排序元素-下文将详细说明。您也可以

  • 我希望根据记录的整数值降序排序:

  • 除了对反向列表理解进行列表理解之外,是否有一种pythonic方法按值对计数器进行排序?如果是这样,它比这更快:

  • 问题内容: 我已经使用AJAX获得了以下对象并将它们存储在数组中: 如何仅使用JavaScript 创建一个函数以按属性 升序 或 降序 对对象进行排序? 问题答案: 按价格升序对房屋进行排序: 或在ES6版本之后:

  • 问题内容: 我有一个由数组组成的数组。我想通过子数组的属性对父数组进行排序。这是一个例子 我想通过在子数组中升序对父数组进行排序,因此在这种情况下,结果将是子数组颠倒(,)。使用众多的PHP排序函数中的任何一种,是否可能? 问题答案: 您可以将usort函数用作:

  • 如何对值进行排序,并将其直接按降序放入for循环本身的数组中,而不是在for循环之后使用sorted函数?