Как взорвать строку списка параметров URL в парном => Array?

Возможный дубликат:
Вывести строку запроса в массив

Как я могу взорвать строку, такую ​​как:

a=1&b=2&c=3 

Чтобы это стало:

 Array { [a] => 1 [b] => 2 [c] => 3 } 

Использование обычной функции explode() разделенной на & будет отделять параметры, но не в парах [key] => [value] .

Благодарю.

Используйте функцию parse_str PHP.

 $str = 'a=1&b=2&c=3'; $exploded = array(); parse_str($str, $exploded); $exploded['a']; // 1 

Интересно, откуда вы взяли эту строку? Если это часть URL-адреса после вопросительного знака ( строка запроса URL-адреса), вы можете получить к нему доступ через суперглобальный массив $_GET :

 # in script requested with http://example.com/script.php?a=1&b=2&c=3 $_GET['a']; // 1 var_dump($_GET); // array(3) { ['a'] => string(1) '1', ['b'] => string(1) '2', ['c'] => string(1) '3' ) 

Попробуйте использовать parse_str() :

 $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 

Что-то вроде этого будет работать

 $str = "a=1&b=2&c=3" $array = array(); $elems = explode("&", $str); foreach($elems as $elem){ $items = explode("=", $elem); $array[$items[0]] = $items[1]; }