根据php中的dateTime对数组进行排序

前端之家收集整理的这篇文章主要介绍了根据php中的dateTime对数组进行排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [dateTime] => 2011-10-18 0:0:00
  6. [chanl1] => 20.7
  7. [chanl2] => 45.4
  8. [chanl3] =>
  9. )
  10.  
  11. [1] => Array
  12. (
  13. [dateTime] => 2011-10-18 0:15:00
  14. [chanl1] => 20.7
  15. [chanl2] => 45.4
  16. [chanl3] =>
  17. )
  18.  
  19.  
  20. [2] => Array
  21. (
  22. [dateTime] => 2011-10-18 00:14:00
  23. [chanl1] => 20.7
  24. [chanl2] => 33.8
  25. [chanl3] =>
  26. )
  27.  
  28. [3] => Array
  29. (
  30. [dateTime] => 2011-10-18 00:29:00
  31. [chanl1] => 20.6
  32. [chanl2] => 33.9
  33. [chanl3] =>
  34. )

我想根据[dateTime]对上述数组进行排序,最终的输出应该是:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [dateTime] => 2011-10-18 0:0:00
  6. [chanl1] => 20.7
  7. [chanl2] => 45.4
  8. [chanl3] =>
  9. )
  10.  
  11. [1] => Array
  12. (
  13. [dateTime] => 2011-10-18 00:14:00
  14. [chanl1] => 20.7
  15. [chanl2] => 33.8
  16. [chanl3] =>
  17. )
  18.  
  19. [2] => Array
  20. (
  21. [dateTime] => 2011-10-18 0:15:00
  22. [chanl1] => 20.7
  23. [chanl2] => 45.4
  24. [chanl3] =>
  25. )
  26.  
  27. [3] => Array
  28. (
  29. [dateTime] => 2011-10-18 00:29:00
  30. [chanl1] => 20.6
  31. [chanl2] => 33.9
  32. [chanl3] =>
  33. )

有没有人知道怎么做?谢谢!

使用 usort() function自定义变体:
  1. $arr = array(...);
  2.  
  3. usort($arr,function($a,$b) {
  4. $ad = new DateTime($a['dateTime']);
  5. $bd = new DateTime($b['dateTime']);
  6.  
  7. if ($ad == $bd) {
  8. return 0;
  9. }
  10.  
  11. return $ad < $bd ? -1 : 1;
  12. });

DateTime类具有超载比较运算符(<> ==).

猜你在找的PHP相关文章