一、parse_str函数简介
PHP函数parse_str用于解析字符串,并将变量赋值给数组。该函数的语法如下:
void parse_str (string $str, array &$arr);
其中,$str代表要解析的字符串,$arr代表可选的缓冲数组。
二、解析字符串
parse_str函数的主要作用就是解析字符串,并将其中的变量名和变量值存储到数组中。下面的代码示例演示了如何使用parse_str函数解析字符串:
$queryString = "name=John+Doe&age=35"; parse_str($queryString, $output); print_r($output);
以上代码输出结果如下:
Array ( [name] => John Doe [age] => 35 )
可以看到,字符串"name=John+Doe&age=35"被成功解析,并存储到了数组$output中。
三、处理复杂字符串
parse_str函数同样可以用于解析复杂的字符串,如下面的示例:
$queryString = "people[0][name]=John&people[0][age]=35&people[1][name]=Jane&people[1][age]=30"; parse_str($queryString, $output); print_r($output);
以上代码输出结果如下:
Array ( [people] => Array ( [0] => Array ( [name] => John [age] => 35 ) [1] => Array ( [name] => Jane [age] => 30 ) ) )
可以看到,字符串"people[0][name]=John&people[0][age]=35&people[1][name]=Jane&people[1][age]=30"被成功解析,并存储到了数组$output中。
四、处理特殊字符
parse_str函数同样可以处理特殊字符,如下面的示例:
$queryString = "name=John%20Doe&age=35"; parse_str($queryString, $output); print_r($output);
以上代码输出结果同解析字符串的示例。
五、解析到已有数组
parse_str函数还可以将解析字符串后存储到已有数组中,如下面的示例:
$queryString = "name=John+Doe&age=35"; $person = array(); parse_str($queryString, $person); print_r($person);
以上代码输出结果同解析字符串的示例。
六、总结
parse_str函数可以解析复杂的字符串,并将其中的变量名和变量值存储到数组中,同时也可以处理特殊字符,并且支持将解析结果存储到已有数组中。