如何使用PHP过滤现有多维数组中10分钟前的数组
我有下面的数组如何使用PHP过滤现有多维数组中10分钟前的数组,php,php-7,Php,Php 7,我有下面的数组 $users = [ [ "_createdAt" = > "2020-09-15 12:10:21", "username" => "A"], [ "_createdAt" = > "2020-09-15 12:08:24", "username" => "B"] [ "_created
$users = [
[ "_createdAt" = > "2020-09-15 12:10:21", "username" => "A"],
[ "_createdAt" = > "2020-09-15 12:08:24", "username" => "B"]
[ "_createdAt" = > "2020-09-15 11:30:45", "username" => "C"]
[ "_createdAt" = > "2020-09-15 11:08:00", "username" => "D"]
];
- 步骤1=>我必须找到当前时间-10分钟
- 步骤2=>我必须保留创建了10个用户的用户名($users数组) 几分钟前
为此,请使用
array\u filter
和strotime
功能
$tenMinuteOldTime = date('Y-m-d H:i:s', strtotime("-10 minutes"));
$newArray = array_filter($users, function($k) use($tenMinuteOldTime ) {
return $k['_createdAt'] < $tenMinuteOldTime ;
});
当然,还有其他方法可以获取给定时区中的当前时间,但如果看到其他答案,而您无法使用
新日期时间
,我建议使用此快速修复方法。使用数组过滤器
和日期时间
听起来是一项伟大的任务。着手你需要先做一些研究,自己做一些尝试。如果您在编写代码的过程中遇到了一些特定的问题,请回来告诉我们您尝试了什么,预期的结果以及您得到了什么结果。请阅读并相应地编辑您的问题。您现在是否正在尝试另一种方法,因为您已经没有耐心等待一个小时后的答复了?@Blackam&Magnus,对不起,我现在明白您的意思了。对于未来的问题,我们将确保如果盖伊试图在某个地方出现问题,我们将帮助他/她解决。有没有其他方法,因为我不能使用这个新的日期时间(“2020-09-15 12:20:00”)@NallammalT-“我不能使用这个新的日期时间(“2020-09-15 12:20:00”)-为什么不?会发生什么?如果您在命名空间下,则需要使用new\DateTime(…)
或添加use DateTime代码>位于顶部(名称空间的正后方)。如果这不是问题所在,您应该解释实际发生的情况,这样我们可以帮助您解决问题,因为这应该会解决。工作。您是否注意到date
函数返回的时间是GMT,而您的时间肯定不是GMT。如果是,请根据您的时区设置日期格式,它将工作。
$tenMinuteOldTime = date('Y-m-d H:i:s', strtotime("-10 minutes"));
$newArray = array_filter($users, function($k) use($tenMinuteOldTime ) {
return $k['_createdAt'] < $tenMinuteOldTime ;
});
$tenMinuteOldTime = date('Y-m-d H:i:s', strtotime("+320 minutes"));