PHP函數:parse_str

來源:互聯網
上載者:User

用法: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中輸入“波波”,我的測試結果是:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.