《PHP學習:php使用parse_str實現查詢字符串解析到變量中的方法》要點:
本文介紹了PHP學習:php使用parse_str實現查詢字符串解析到變量中的方法,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php使用parse_str實現查詢字符串解析到變量中的方法.分享給大家供大家參考,具體如下:PHP教程
parse_str()函數可實現把字符串解析到變量中,這意味著實現了字符串與變量之間的一種轉換機制,在與客戶端數據傳遞的過程中,數據是通過字符串的形式傳遞,如GET請求,然后在服務器端通過$_GET/$_POST等全局變量實現字符串與變量的轉換,如:/?index.php?var1=1&var2=2,請求后服務端可使用$_GET['var1']的方式獲取var1=1&var2=2這一段字符串轉換成變量.parse_str()函數可實現用樣的功能,使用parse_str()函數解析$_SERVER['QUERY_STRING']的值,就可以直接實現字符串與變量的轉換,如$var1.PHP教程
一、函數原型PHP教程
void parse_str ( string str [, array &arr] )
PHP教程
二、版本兼容PHP教程
PHP 3, PHP 4, PHP 5PHP教程
三、函數基礎用法與實例PHP教程
1. 解析字符串為變量PHP教程
<?php parse_str("var1=jb51&var2=parse_str"); echo $var1.$var2; ?>
2. 解析字符串并將變量存儲到數組中PHP教程
<?php parse_str("var1=jb51&var2=parse_str",$array); print_r($array); ?>
輸出:PHP教程
Array ( [var1] => jb51 [var2] => parse_str )
說明:這種將變量存儲到數組中在PHP 4.0.3 才增加PHP教程
3. 解析的字符串有空格PHP教程
<?php parse_str("v ar1=jb51&var 2=parse_str",$array); print_r($array); ?>
輸出:PHP教程
Array ( [v_ar1] => jb51 [var_2] => parse_str )
說明:直接將空格轉換為下劃線_PHP教程
四、注意事項PHP教程
1. 如果未設置 array 參數,由該函數設置的變量將覆蓋已由同名變量.PHP教程
2. php.ini 中的 magic_quotes_gpc 設置影響該函數的輸出.如果已啟用,那么在 parse_str() 解析之前,變量會被 addslashes() 轉換.PHP教程
3. parse_str() 函數在處理參數時存在漏洞,攻擊者可以利用這個漏洞啟用register_globals,從而進一步利用其他PHP腳本中的漏洞.如果僅以一個參數調用 parse_str()的話,該函數會認為該參數是通過URL傳送的請求字符串那樣解析所提供的字符串,但外部攻擊者可以在調用 parse_str()期間發送很多請求變量來觸發memory_limit請求終止.如果在調用parse_str()期間執行了請求關閉的話,則在相關webserver進程的其余生命周期期間register_globals標簽會一直打開.PHP教程
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》及《php常見數據庫操作技巧匯總》PHP教程
希望本文所述對大家PHP程序設計有所幫助.PHP教程
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/1739.html