PHP:从数组中解析最早的日期
我有这个阵列:PHP:从数组中解析最早的日期,php,arrays,parsing,datetime,Php,Arrays,Parsing,Datetime,我有这个阵列: array(2) { [0]=> array(2) { ["url"]=> string(104) "aHR0cDovL3lvdXR1YmUuY29t" ["date"]=> string(19) "2014-01-06 21:44:39" } [1]=> array(2) { ["url"]=> string(28) "aHR0cDovL3d3dy5nb29nbGUu
array(2) {
[0]=> array(2) {
["url"]=> string(104) "aHR0cDovL3lvdXR1YmUuY29t"
["date"]=> string(19) "2014-01-06 21:44:39"
}
[1]=> array(2) {
["url"]=> string(28) "aHR0cDovL3d3dy5nb29nbGUuY29t"
["date"]=> string(19) "2014-01-06 14:28:32"
}
}
我如何解析
$row['date']
以获得最早的日期?我认为您可以使用数组映射
和min
函数来实现这一点:
function customFunction($array) {
return $array['date'];
}
$dateArray= array_map('customFunction', $array);
因此,在执行以下操作后,您就有了一个包含日期的数组:
$oldDate = min($dateArray); //here you get the oldest date
像这样简单的事情就可以了
$earliest_date = date_create();
foreach($rows as $row) {
$date = date_create($row['date']);
if($date < $earliest_date)
$earliest_date = $date;
}
$earlish_date=date_create();
foreach($行作为$行){
$date=date\u创建($row['date']);
如果($日期<$最早日期)
$最早日期=$日期;
}
要在数组中查找最小日期,请尝试以下代码
$minDate = min(array_map(function($item) { return $item['date']; }, $array));
那么,您可以对它进行排序,然后获取第一个/最后一个元素。您是从数据库获取这个数组的吗?您可以更改查询(
ORDER BY date ASC
,如果您使用的是MySQL),自动为您提供排序结果,最早的日期优先。@Esaevian Nop它不是来自数据库谢谢。这工作做得很好。我能从$oldate中拨出零下1秒吗?是的,看这里:,希望有帮助you@jQuerybeast我认为应该这样做。我怎样才能使这个时间减少1秒?回显日期(“Y-m-d H:I:s”,strotime($minDate)-1)如果空值弄乱了你的min()
,请参阅