php – 使用DateTime字符串对数组进行排序?

如何在PHP中的end_time值上有效地排序这个数组(最近的项目)?

array
  0 => 
    array
      'value' => int 4
      'end_time' => string '2012-01-20T08:00:00+0000' (length=24)
  1 => 
    array
      'value' => int 0
      'end_time' => string '2012-01-21T08:00:00+0000' (length=24)
  2 => 
    array
      'value' => int 5
      'end_time' => string '2012-01-22T08:00:00+0000' (length=24)
  3 => 
    array
      'value' => int 4
      'end_time' => string '2012-01-23T08:00:00+0000' (length=24)
  4 => 
    array
      'value' => int 7
      'end_time' => string '2012-01-24T08:00:00+0000' (length=24)

解决方法:

你看过usortDocs功能了吗?它允许您定义回调函数以比较两个值.所以我建议沿着这些方向做点什么:

function compare_func($a, $b)
{
    // CONVERT $a AND $b to DATE AND TIME using strtotime() function
    $t1 = strtotime($a["end_time"]);
    $t2 = strtotime($b["end_time"]);

    return ($t2 - $t1);
}

usort(main_array, "compare_func");

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...