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中输入“波波”,我的测试结果是:
补充:Php教程,Php常用代码