Преобразование массива. Рекурсия.

itprog

Cruftsman
Фанат
упс, тогда можно сделать еще понятнее:
PHP:
$query_data = http_build_query($data);

$paths = array();
foreach (explode('&', $query_data) as $element) {
    $pair = explode('=', $element); 
    $paths[urldecode($pair[0])] = isset($pair[1]) ? urldecode($pair[1]) : null;
}
 

fixxxer

К.О.
Партнер клуба
PHP:
parse_str(strtr(http_build_query($source), array(urlencode('[') => "\x01", urlencode(']') => "\x02")), $s);
return array_flip(array_map(function($s) { return strtr($s, array("\x01" => '[', "\x02" => ']')); }, array_flip($s)));
:D :D
 

itprog

Cruftsman
fixxxer
только вот такое решение не совсем эффективное, как минимум будет создано 2 ненужных массивов, и в значениях [ и ] теряет %)
 
Сверху