简体   繁体   English

按自定义日期时间对数组进行排序

[英]Sort array by custom date time

I have next array: 我有下一个数组:

Array ( 
[15709] => stdClass Object ( 
  [pid] => 15709 
  [channel_ID] => 51 
  [date] => 2016-03-21 00:30:00 
  [program_info] => Х/ф "Стелла" ) 
[15710] => stdClass Object ( 
  [pid] => 15710 [channel_ID] => 51 
  [date] => 2016-03-21 02:20:00 
  [program_info] => Х/ф "Часы доблести" ) 
[15711] => stdClass Object ( 
  [pid] => 15711 
  [channel_ID] => 51 
  [date] => 2016-03-21 06:15:00 
  [program_info] => Фильм-концерт "Хичкок. Концерт в магазине" 
) )

I need sort him by field [date] , should first go to the elements starting from the specified time 05:00:00, result must be somthing like this: 我需要按[date]字段对他进行排序,应该首先转到从指定时间05:00:00开始的元素,结果必须是这样的:

Array ( 
    [15711] => stdClass Object ( 
      [pid] => 15711 
      [channel_ID] => 51 
      [date] => 2016-03-21 06:15:00 
      [program_info] => Фильм-концерт "Хичкок. Концерт в магазине" )
    [15709] => stdClass Object ( 
      [pid] => 15709 
      [channel_ID] => 51 
      [date] => 2016-03-21 00:30:00 
      [program_info] => Х/ф "Стелла")
    [15710] => stdClass Object ( 
      [pid] => 15710 [channel_ID] => 51 
      [date] => 2016-03-21 02:20:00 
      [program_info] => Х/ф "Часы доблести"
    ) )

Try something like this: 尝试这样的事情:

uasort($myarray, function($a, $b) {
    if ($a['date'] == $b['date']) {
        return 0;
    }
    return ($a['date'] < $b['date']) ? -1 : 1;
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM