首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP parse_str() 函數解析查詢字串的完整使用指南

     編輯:PHP 綜合知識

parse_str() 是 PHP 內建函數,可將 URL 查詢字串(如 id=1&name=test)解析為變數或陣列,極適合處理 API 回傳、URL 參數等場景。

基本語法

parse_str(string $string, array &$result = null): void
參數說明
$string必需。要解析的查詢字串。
$result可選。指定儲存解析結果的陣列變數名稱。若省略,變數將直接註冊到當前符號表(不推薦,易造成覆蓋)。

實際範例

範例 1:解析到陣列(推薦做法)

$str = "id=23&name=John%20Adams";
parse_str($str, $output);
echo $output['name']; // 輸出:John Adams

範例 2:直接註冊變數(不推薦)

parse_str("id=23&name=John%20Adams");
echo $id;   // 23
echo $name; // John Adams

範例 3:處理實際業務字串

$str = "1&errid=1&fee=2&balance=2582&fails=&msgid=634541149212681528&msg=全部發送成功。";
parse_str($str, $output);
echo $output['msgid']; // 634541149212681528

注意事項

  • 魔術引號影響:若 php.ini 中 magic_quotes_gpc = On,解析前會自動 addslashes(),需注意去除斜線。
  • 變數覆蓋風險:未指定 $result 陣列時,同名變數會被覆蓋,建議永遠使用陣列接收。
  • 編碼處理:函數會自動處理 URL 編碼(如 %20 轉空格),無需額外 urldecode()。

適用場景

  • 解析第三方 API 回傳的查詢字串參數
  • 處理非標準表單提交的資料格式
  • 將儲存於資料庫的查詢字串還原為結構化資料

善用 parse_str() 搭配陣列接收,能讓查詢字串處理更安全、程式碼更清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved