首页 > php代码 > PHP函数:parse_str

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中输入&ldquo;波波&rdquo;,我的测试结果是:





永久链接:http://www.phprm.com/code/200999c7c5ab413b999ef80d86d36d02.html

转载随意!带上文章地址吧。

标签:none

发表留言