点击蓝字关注我们!每天获取最新的编程小知识!

源 / php中文网      源 / www.php.cn

有这样一个数组,它是由(Y-m-d)格式的多个日期组成。我们如何使用PHP编写一个程序来对数组中出现的所有日期进行降序排序呢?

(查看原文请点击本文末尾左下角:

那么如果用C/ c++ /Java或任何其他通用编程语言来解决这个问题,我们必须根据年、月、最后根据天来比较日期,方法是将日期存储在任何结构或任何其他需要的数据结构中。

但是在PHP中,我们就可以应用strtotime()函数,这个问题便很容易解决。

strtotime()函数是一个PHP函数,它将任何格式的给定日期更改为一个时间戳,该时间戳本质上是一个大整数,然后在对数组进行排序时,我们可以通过定义一个比较函数轻松地使用PHP | usort()函数。

comparator函数将接受两个日期参数,它们将使用strtotime()函数转换为整数时间戳,然后与基于整数时间戳值的日期排序进行比较。

使用的内置功能:

strtotime():该函数将给定的日期字符串更改为时间戳(大的int值)。

usort():该函数根据用户定义的比较函数对给定数组进行排序。

下面是上述思想的PHP代码实现:

//PHP程序排序数组的日期

//用户自定义的比较函数

//基于时间戳

function compareByTimeStamp($time1, $time2)

{

    if (strtotime($time1) < strtotime($time2))

        return 1;

    else if (strtotime($time1) > strtotime($time2)) 

        return -1;

    else

        return 0;

}

// 输入数组

$arr = array("2018-09-12", "2019-09-06", "2019-09-09");

// 使用给定的用户定义函数对数组排序

usort($arr, "compareByTimeStamp");

print_r($arr);

?>

输出:

Array

(

    [0] => 2019-09-09

    [1] => 2019-09-06

    [2] => 2018-09-12

)

本篇文章就是关于将PHP日期数组进行排序的方法介绍,也很简单易懂,希望对需要的朋友有所帮助!

-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!

c++字符数组整数转换中文大写金额的形式_如何对PHP日期数组进行排序相关推荐

  1. c++字符数组整数转换中文大写金额的形式_数字大写转换烦,内置格式多缺陷, VBA函数来解难...

    观看视频更直观 在Excel中将数字转换为中文大写或小写,有两种方法,一种是设置数据格式:另一种是使用内置的隐蔽函数NumberString函数. 一.设置数据格式 在Excel中输入数字后,选中单元 ...

  2. [原创]数字转换中文大写金额

    [原创]数字转换中文大写金额 程序需要:2控件: text1 command1 command1下代码: On Error Resume Next If InStr(Text1, ".&qu ...

  3. 将阿拉伯数字转换成中文大写金额的形式

    问题:编写控制台程序,用户输入阿拉伯数字的金额,系统自动转换成中文大写金额的形式输出. 例如:输入458796: 转换为:肆拾伍万捌仟柒佰玖拾陆. 问题分析:既然是数字大小写转换,那么我们这样考虑问题 ...

  4. java实现数字金额转换中文大写金额

    直接贴代码吧! public class CnNumberUtils {private final static Logger logger = LoggerFactory.getLogger(CnN ...

  5. 数组中的元素赋值给元素_漫画:寻找无序数组的第k大元素

    本期封面作者:泰勒太乐 -----  第二天  ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第 ...

  6. php数组foreach循环添加键值对_循环 - PHP二维数组根据键值对获取一组数组 (不使用foreach)...

    问 题 $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'email' => 'zhangsan@sina.com' ...

  7. java数组的声明学号姓名线性结构_定义一个结构体数组,包含学号,姓名,成绩三哥成员项。...

    sorry,没时间另外写一个了.类似题目的回答很多的.个人建议结构体操作用链表方式,如果用数组方式的话,对于有效记录数的掌控不方便,比如插入要考虑数组长度不能越界,删除要考虑有效记录的减少等等.输入字 ...

  8. 金额转换,阿拉伯数字转换成中国传统形式。例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整

    public class Test{ // 定义三个字符数组,把中文的数字形式存储下来,再下面代码中获取下标,设置对应中文 private static char[] hunit = { '拾', ' ...

  9. 【C语言】小写数字金额转换成中文大写金额

    1. 更新说明 添加与 "零圆整" 等价的预先判断 (0 / 0. / 0.0 / 0.00 / . / .0 / .00) 修复了因使用函数 strdup 导致的内存泄漏 除去输 ...

最新文章

  1. trap信号捕捉命令介绍与shell结合实战讲解
  2. 基数排序算法图解分析
  3. CodeForces 841B (B) 博弈
  4. Python的os模块常用文件夹的增删改查详解
  5. 知名互联网公司系统架构图[第2期]
  6. VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别
  7. 鼎力加密狗驱动程序_怎么安装加密狗驱动程序
  8. jq js json 转字符串_js-jquery-对象与JSON字符串互相转换
  9. 2017马哥python高级实战班培训推荐
  10. 搭建以图搜图检索系统
  11. Spring securty<三> 认证案例代码
  12. 唐山新维计算机学校,WellDesign创景新维设计学员风采介绍
  13. 狂神说SpringCloud学习笔记
  14. 电脑只能上qq,但是不能打开网页的…
  15. Spring boot启动报错ERROR 5208 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter
  16. linux系统python中的列表 || python中的集合
  17. 2020奶茶行业研究报告
  18. 灯塔 (数据结构)
  19. 数据库安全性 --- 控制
  20. DenseNet模型解读

热门文章

  1. 如何改变Myeclipse编辑区背景色(转)
  2. [转]How to override HandleUnauthorizedRequest in ASP.NET Core
  3. zabbix系列(八)zabbix添加对web页面url的状态监控
  4. MySQL深入02-DML之Select查询
  5. 如何设计数据库(四)
  6. java正向最大匹配算法_java中文分词之正向最大匹配法实例代码
  7. 反射可以使用lambda吗_必读干货帖|车载对讲机使用地网天线可以降低驻波吗?...
  8. X86汇编语言从实模式到保护模式17:协同式任务切换
  9. Linux操作系统原理与应用04:内存管理
  10. 【HISI系列】之内存开辟的方法