所以我有一个数组,其中包含一个ID作为键,并创建了TIME作为值, 例如,我的数组如下所示,
$id_time_array = [
[21]=> 1540494319
[939]=> 1540494328
[2205]=> 1540494331 ];
我想获取最近3个小时左右创建的ID的数量,PHP中是否有为此功能的函数,或者最简单的计数方法是什么?
答案 0 :(得分:2)
一旦确定了截止时间戳记
$cutoff = strtotime('3 hours ago');
您可以将数组过滤为大于临界值的项目,并计算其结果。
$result = count(array_filter($array, function($timestamp) use ($cutoff) {
return $timestamp > $cutoff;
}));
如果只需要计数,则不需要使用ID进行任何操作。
array_filter
的第二个参数是anonymous function。
function($timestamp) use ($cutoff) { return $timestamp > $cutoff; }
use
语句将$cutoff
变量引入匿名函数的scope中。否则,该函数将无法访问该变量。您可以在我链接的PHP文档中详细了解它。