<?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 (sscanf($k, 'tour_%d', $id)) {
$result[$id]['ID'] = $v;
foreach (['from', 'to'] as $prefix) {
if (isset($array["date-$prefix-$v"])) {
$result[$id][$prefix] = $array["date-$prefix-$v"];
}
}
}
}
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:
79.97 ms | 402 KiB | 62 Q