我有一个包含此值的数组,必须找到最新的
Array (
[0] => stdClass Object (
[createdDate] => 2016/03/30 22:27:26:000
[createdDateUTC] => 2016-03-30T21:27:26
[id]=>1
),
[1] => stdClass Object (
[createdDate] => 2016/03/30 22:27:26:000
[createdDateUTC] => 2016-03-30T21:27:26
[id]=>2
)
)
我现在和现在之间只需要一个身份证--1小时。
编辑: 这是@ evan-taylor的解决方案
$dates_arr=array(
array(
'createdDate' => '2016/03/30 22:27:26:000',
'createdDateUTC' => '2016-03-30T20:27:26',
'id'=>1
),
array(
'createdDate' => '2016/03/30 22:27:26:000',
'createdDateUTC' => '2016-03-30T21:27:26',
'id'=>2
)
);
$most_recent_time = 0;
$most_recent_id = NULL;
foreach($dates_arr as $date_obj){
$parsed_time = strtotime($date_obj['createdDateUTC']);
if($parsed_time > $most_recent_time && ($parsed_time >= (time() - 3600))){
$most_recent_time = $parsed_time;
$most_recent_id = $date_obj['id'];
}
}
echo $most_recent_id;
答案 0 :(得分:1)
这样的事可能适合你。查看函数strtotime。
$most_recent_time = 0;
$most_recent_id = NULL;
foreach($dates_arr as $date_obj){
$parsed_time = strtotime($date_obj->createdDateUTC);
if($parsed_time > $most_recent_time && ($parsed_time >= (time() - 3600)){
$most_recent_time = $parsed_time
$most_recent_id = $date_obj->id;
}
}
尚未测试此代码,但$most_recent_id
应包含不超过1小时前的最新时间戳的ID或NULL
(如果不存在)。