Довольно просто:
// turn
array('foo', 'bar', 'hello', 'world');
// into
array('foo' => 'bar', 'hello' => 'world');
Сейчас я использую:
do{
$arrayOut[current($arrayIn)] = next($arrayIn);
}while(next($arrayIn));
Мне интересно, есть ли способ сделать это без промежуточной переменной, $arrayOut
,Я мог бы написать функцию, однако это единственный вариант использования, и я стараюсь, чтобы мой сценарий не загромождался.Мне просто интересно, есть ли что-то, что я пропустил в документах, которые послужили бы этой цели.
Значения берутся из пути маршрутизации:
route/to/controller/action/key1/value1/key2/value2
Он взорван, ив конце концов, после использования других компонентов, я остаюсь с ('key1', 'value1', 'key2', 'value2', ...)
Спасибо вам за понимание и предложения. Длинные уши выиграл это за лаконичный подход, который при расширении до более чем "1 строки" не очень загадочно (я не думаю, по крайней мере)
Однако, также сЧто касается предположения Long Ears ', возможно, мое желание семантически точного кода с минимальной многословностью одолело меня, и я гонялся за маргаритками, пытаясь сохранить переменную область действия "свободной от загрязнений", перефразируя себя.