3v4l.org

run code in 300+ PHP versions simultaneously
<?php $jobs = [ [ 'id' => 9, 'needed_at' => '2023-02-26 03:31:04', 'ended_at' => '2023-02-26 04:31:04', 'add' => 20 ], [ 'id' => 6, 'needed_at' => '2023-02-26 04:51:04', 'ended_at' => '2023-02-26 05:51:04', 'add' => 30 ], [ 'id' => 7, 'needed_at' => '2023-02-26 09:21:04', 'ended_at' => '2023-02-26 10:21:04', 'add' => 30 ] ]; $format = 'Y-m-d H:i:s'; foreach ($jobs as &$row) { $dt ??= new DateTime($row['needed_at']); $row['needed_at'] = $dt->format($format); $dt->modify('+ 60 minutes'); $row['ended_at'] = $dt->format($format); $dt->modify("+ {$row['add']} minutes"); } var_export($jobs);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 0 => array ( 'id' => 9, 'needed_at' => '2023-02-26 03:31:04', 'ended_at' => '2023-02-26 04:31:04', 'add' => 20, ), 1 => array ( 'id' => 6, 'needed_at' => '2023-02-26 04:51:04', 'ended_at' => '2023-02-26 05:51:04', 'add' => 30, ), 2 => array ( 'id' => 7, 'needed_at' => '2023-02-26 06:21:04', 'ended_at' => '2023-02-26 07:21:04', 'add' => 30, ), )

preferences:
98.02 ms | 407 KiB | 5 Q