【问题标题】:Sorting an array where keys are timestamps by reverse order?按相反顺序对键是时间戳的数组进行排序?
【发布时间】:2012-02-18 12:31:49
【问题描述】:

krsort() 函数是否适合对键为时间戳的数组进行排序(按相反顺序)?是否有(也许)另一个“标准”功能可以做到这一点?

$arr = array();
$arr[1327305600] = '87718';
$arr[1327132800] = '87798';

// Dunno if SORT_NUMERIC is really necessary?
krsort($arr, SORT_NUMERIC);

【问题讨论】:

    标签: php arrays sorting timestamp


    【解决方案1】:

    krsort() 很好,如果时间戳是自一个纪元(例如 Unix 纪元)(格林威治标准时间 1970 年 1 月 1 日 00:00:00)以来的秒数(或毫秒)。如果您确定所有键都是 Unix 时间戳,则不需要 SORT_NUMERIC

    【讨论】:

      【解决方案2】:

      是的,它非常适合,您应该使用SORT_NUMERIC 标志。这不是必需的,因为常规排序将首先采用整数 - 但它可以防止将来出现问题。

      【讨论】:

      • 什么样的“未来问题”?谢谢。
      • 有人通过自动依赖natural sorting 对您应用程序的其他部分进行可能影响您的排序的修改。
      猜你喜欢
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 2017-12-05
      • 2013-08-07
      • 2011-09-20
      相关资源
      最近更新 更多