【问题标题】:PHP: how to sort an array by keys numerically?PHP:如何按数字键对数组进行排序?
【发布时间】:2012-09-05 12:29:30
【问题描述】:

尽管我已经阅读了 PHP 文档并且这看起来像是一个常见问题解答,但它仍然让我有些头疼。

我有一个这样的数组,其中包含一年中的月份:

[12] => december
 [4] => april
 [3] => march
 [6] => june
 [7] => july
[10] => october

...and so on

顺序不正常。我想以数字方式重新排序键。如果我愿意,我可以用值交换键,但是虽然每个数值都会匹配相应的月份,但它们永远不会按顺序排列。所以我想通过 PHP 把这些整理好。

我试过$calendar = ksort( $myarray );

但是如果我尝试打印$calendar,我只会得到 bool=true 或带有单个键和“1”作为值的数组...我打算稍后在 foreach 中使用 ksort 结果,但我不能。

我说错了什么?

【问题讨论】:

    标签: php sorting ksort


    【解决方案1】:

    不..只需使用:

    ksort($myarray);
    print_r($myarray)
    

    Codepad example

    ksort() 按键对数组进行排序,保持键与数据相关性,成功时返回 TRUE 或失败时返回 FALSE,如果将 $calendar 与 ksort() 相关联,您将得到 ksort 返回的内容.

    【讨论】:

    • 谢谢,我刚刚明白了 - 我不明白 PHP 手册的意思,并假设我必须将排序后的数组存储到一个变量中
    【解决方案2】:
    ksort($arr);
    foreach ($arr as $key => $val) 
    { 
       echo "$key = $val\n";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多