niko42
Новичок
Доброго времени суток.
Была задача:
Из этого:
Получить это:
Вопрос на сколько будет оправдан данный алгоритм при роутинге:
P.S. далее на основание полученного массива бежим по дереву и вызываем нужный код (входная строка будет url). Т.е. у каждого пути свой метод вызова Router::get('car/af', function(){echo 'труляля'})
Была задача:
Из этого:
PHP:
$arr = array(
'cars/ddd',
'cars/ddd/*',
'cars/ddd/asf',
'cars/sss',
'moto'
);
PHP:
Array
(
[cars] => Array
(
[ddd] => Array
(
[*] => Array
(
)
[asf] => Array
(
)
)
[sss] => Array
(
)
)
[moto] => Array
(
)
)
PHP:
$args = array();
for($i = 0, $count = count($arr); $i < $count; $i++) {
$tmp = array_reverse(explode('/', $arr[$i]));
$temp = array();
for($t = 0, $countTmp = count($tmp); $t < $countTmp; $t++){
unset($r);
$r[$tmp[$t]] = $temp;
$temp = $r;
}
$args = array_merge_recursive($args, $temp);
}
print_r($args);
Последнее редактирование: