<?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