【发布时间】:2018-06-23 13:46:10
【问题描述】:
我需要从最小的日期开始对数组进行排序。我使用了 Usort,但它只考虑当天对数组进行排序。我尝试使用在 javascript 中使用排序的示例中的代码,但我需要在 php 中发生这种情况或找到将 php 数组转换为 js 的方法。
代码如下:
<?php
ArrayDates ( [0] => 22/03/2018 [1] => 09/04/2018 [2] => 26/03/2018
[3] => 27/11/2017 [4] => 22/01/2018 [5] => 06/09/2017 )
?>
<script>
ArrayDates.sort(function (a, b){
var aa = a.split('-'),
bb = b.split('-');
return aa[2] - bb[2] || aa[1] - bb[1] || aa[0] - bb[0];
})
</script>
【问题讨论】:
-
如果你格式化你的日期properly,那么你就可以
strcmp他们。如果您使用时间戳会更好,因为这些只是您可以直接排序的数字。输出结果给用户时只使用D/M/Y格式。 -
看起来您使用了 Javascript 中的示例。这不是有效的 PHP 代码。
-
是的,这可能是 javascript。仅缺少分号...
-
那个数组定义非常奇怪。看起来像
print_r输出而不是实际的数组。 -
嗨,是的,数组来自 print_r,我把它作为例子。日期格式为西班牙方式,我需要保持这种方式。正如 rickdenhaad 所说,我刚刚意识到这是一个 Javascript 示例。