PHP函数:parse_str
用法:void parse_str ( string $str [, array &$arr] )
parse_str用来解析(分离)URL中的查询字符串(Query String),所谓查询字符串是指一个URL中?后面的部分,如http://localhost/test/result.php?name=anve&age=21,则查询字符串就是“name=anve&age=21”。
当然在PHP里,你可以用$_GET数组来取得查询字符串的值,但有时候parse_str会方便些,特别是当查询字符串中的变量名(对应于上面例子中的name和age)不知道的时候。
index.html:
<html> <body> <form action="result.php" method="get"> name: <input type="text" name="name"> age: <input type="text" name="age"> <input type="submit"> </form> </body> </html>
result.php:
<html>
<body>
<?php $string=$_SERVER["QUERY_STRING"]; // 用$_SERVER["QUERY_STRING"]取得查询字符串。 echo "$string: ".$string."<br>"; parse_str($string); echo "$name: ".$name."<br>"; echo "$age: ".$age."<br>"; // 经过parse_str后,生成了$name和$age两个变量,并被正确赋值。 parse_str($string,$arr); // 第二个参数$arr是一个用来保存结果的数组,这样就不会像刚才那样产生多个变量了。 echo "<pre>"; print_r($arr); // $arr["name"]和$arr["age"]被正确赋值。 echo "</pre>"; ?>
</body>
</html>
另注:parse_str会自动进行urldecode(URL解码)。例如在index.html的name中输入“波波”,我的测试结果是:
永久链接:http://www.phprm.com/code/200999c7c5ab413b999ef80d86d36d02.html
转载随意!带上文章地址吧。