在PHP中,字符串函数 parse_str() 将字符串解析成多个变量。
函数语法:
parse_str ( string $encoded_string [, array &$result ] ) : void
函数参数说明:
参数 | 描述 |
---|---|
encoded_string | 必需。规定要解析的字符串。 |
result | 可选。规定存储变量的数组名称。该参数指示变量存储到数组中。 |
parse_str() 函数将字符串解析成多个变量。如果 encoded_string 是 URL 传递入的查询字符串(query string),如果未设置 result 参数,则该函数设置的变量将覆盖当前作用域中已存在的同名变量;如果提供了 result 则会设置到该数组里。
注意:该函数没有返回值。
举例1,将字符串解析成当前作用域中的多个变量:
<?php // 将字符串解析成当前作用域中的多个变量 $id = 0; $name = ''; $favorite = []; // 解析字符串 $str = 'id=1&name=zhangsan&favorite[]=rice&favorite[]=noodle'; $res = parse_str($str); // 输出 print($id); echo '<br>'; print($name); echo '<br>'; print_r($favorite);
以上代码输出如下:
1 zhangsan Array ( [0] => rice [1] => noodle )
举例2,将字符串解析存储到指定数组:
<?php // 将字符串解析存储到指定数组 $str = 'id=1&name=zhangsan&favorite[]=rice&favorite[]=noodle'; $params = []; parse_str($str, $params); // 输出 print_r($params);
以上代码输出如下:
Array ( [id] => 1 [name] => zhangsan [favorite] => Array ( [0] => rice [1] => noodle ) )