3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ "tour_0" => 1446, "tour_1" => 1471, "date-from-1471" => "2014-08-07", "date-to-1471" => "2014-08-15", "tour_2" => 30, "date-from-30" => "2014-08-01", "date-to-30" => "2014-08-05", "tour_3" => 10 ]; $result = []; foreach ($array as $k => $v) { if (str_starts_with($k, 'tour_')) { $row = ['ID' => $v]; foreach (['from', 'to'] as $prefix) { if (isset($array["date-$prefix-$v"])) { $row[$prefix] = $array["date-$prefix-$v"]; } } $result[] = $row; } } var_export($result);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => array ( 'ID' => 1446, ), 1 => array ( 'ID' => 1471, 'from' => '2014-08-07', 'to' => '2014-08-15', ), 2 => array ( 'ID' => 30, 'from' => '2014-08-01', 'to' => '2014-08-05', ), 3 => array ( 'ID' => 10, ), )

preferences:
84.57 ms | 402 KiB | 62 Q