parse_str — 将字符串解析成多个变量
说明
parse_str ( string $encoded_string [, array &$result ] ) : void
如果 encoded_string 是 URL 传递入的查询字符串(query string),则将它解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。
参数
encoded_string 输入的字符串。
result 如果设置了第二个变量 result, 变量将会以数组元素的形式存入到这个数组,作为替代。
Warning 极度不建议 在没有 result 参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为。
Example #1 parse_str() 解析http_build_query
<?php
$data = array(
'tui' => 12, 'pure' => 23, 'age' => 'asdf 23234234'
);
$data = http_build_query($data);
echo $data; //结果: tui=12&pure=23&age=asdf+23234234
parse_str($data, $result); //把$data解析到$result变量,变量将会以数组元素的形式存入到这个数组
dump($result); //结果:array:3 ["tui" => 12 "pure" => 23 "age" => "asdf 23234234"]
?>
由于 PHP 的变量名不能带「点」和「空格」,所以它们会被转化成下划线。 用本函数带 result 参数,也会应用同样规则到数组的键名。
Example #2 parse_str() 名称改写
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>