У меня есть URL http: // * .com/branch/module/view/id/1/cat/2/etc/3.Сделать роутер, как zend
Будет.
array
(
'module'=>'branch',
'controller'=>'module',
'action'=>'view'
);
next Мне нужно получить параметры. У меня этот массив.
/*function getNextSegments($n,$segments) {
return array_slice ($q = $this->segments, $n + 1);
}
$params = getNextSegments(3);
*/
array (0 => 'id', 1 => '1', 2 => 'cat', 3 => '2', 4 => 'etc', 5 => '3');//params
И я хочу преобразовать его в этом одно: массив ( 'ID' => 1, 'кот' => 2, 'и т.д.' => 3, );
Как я могу это сделать, используя php-функцию. Я знаю, что я могу сделать, используя для или Еогеасп, но я думаю, что PHP имеет такую функцию, но я не могу найти :(. Спасибо.
class A {
protected function combine($params) {
$count = count ($params);
$returnArray = array();
for($i = 0; $i < $count; $i += 2) {
$g = $i % 2;
if ($g == 0 or $g > 0) {
if (isset ($params [$i]) and isset ($params [$i + 1]))
$returnArray [$params [$i]] = $params [$i + 1];
}
}
return $returnArray;
}
}
Это работает нормально. Если кто-нибудь имеет лучшую логику для этого, пожалуйста, помогите . Еще раз спасибо.
Где вы получаете этот массив из? –
Я редактировал вопрос, теперь вы можете видеть, где я его получаю. – Vahan
Поскольку вы отметили это с помощью ZF, не можете ли вы просто сделать '$ this -> _ getAllParams()'? –