Есть ли функция PHP для преобразования строки запроса в массив? В основном я ищу противоположность http_build_query(). У меня есть строка в виде строки: foo=bar&bar[var]=foo И я хочу следующее (перейти в http_build_query): array( 'foo' => 'bar', 'bar' => array( 'var' => 'foo', ) ) Ответ 1 Вы хотите parse_str(). Передайте ему массив как 2-й параметр, и он будет извлекать переменные из строки запроса, которую вы передаете в массив: <?php $str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz Обратите внимание, что это самая первая связанная функция, указанная на странице http_build_query.
Ответ 1 Вы хотите parse_str(). Передайте ему массив как 2-й параметр, и он будет извлекать переменные из строки запроса, которую вы передаете в массив: <?php $str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str, $output); echo $output['first']; // value echo $output['arr'][0]; // foo bar echo $output['arr'][1]; // baz Обратите внимание, что это самая первая связанная функция, указанная на странице http_build_query.