php实现多个订单超时自动失效的代码
以下是一个简单的 PHP 代码实现多个订单超时自动失效的例子:
// 假设这是一个订单列表,包含了多个订单信息
$orders = array(
array('id' => 1, 'status' => 'pending', 'created_at' => '2021-01-01 10:00:00'),
array('id' => 2, 'status' => 'pending', 'created_at' => '2021-01-02 11:00:00'),
array('id' => 3, 'status' => 'pending', 'created_at' => '2021-01-03 12:00:00'),
);
// 定义订单超时时间为 1 小时
$timeout = 3600;
// 遍历订单列表,检查是否有超时订单,如果有则将其状态设置为失效
foreach ($orders as $order) {
$created_at = strtotime($order['created_at']);
$now = time();
if ($now - $created_at > $timeout && $order['status'] == 'pending') {
$order['status'] = 'expired';
// 更新订单状态到数据库或者其他存储方式
// ...
}
}
在上面的代码中,我们首先定义了一个包含多个订单信息的数组 $orders,然后定义了一个订单超时时间 $timeout,这里我们将其设置为 1 小时。
接下来,我们使用 foreach 循环遍历订单列表,对于每个订单,我们将其创建时间 $created_at 转换为时间戳,然后计算当前时间与创建时间的差值,如果超过了订单超时时间并且订单状态为 pending,则将其状态设置为 expired,表示订单已经失效。
最后,我们可以将更新后的订单状态保存到数据库或者其他存储方式中
原文地址: https://www.cveoy.top/t/topic/cu3w 著作权归作者所有。请勿转载和采集!