Передайте необязательный второй аргумент в parse_str()
, и он будет помещать значения в ассоциативный массив вместо создания / перезаписи переменных.Из руководства php :
Если присутствует второй параметр arr, переменные сохраняются в этой переменной как элементы массива.
Вы должныинициализировать массив первым.Сделайте это:
$error = "Error message";
$vars = array();
parse_str("param1=hello&error=false", $vars);
echo $error . "\n";
print_r($vars);
который выдаст:
Error message
Array
(
[param1] => hello
[error] => false
)