當前位置: 首頁> 最新文章列表> http_build_query 函數的基礎語法是什麼?如何快速掌握它的使用示例?

http_build_query 函數的基礎語法是什麼?如何快速掌握它的使用示例?

gitbox 2025-08-18
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以是任意 PHP 代碼</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"歡迎使用 PHP 學習示例!"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * [http_build_query 函數的基礎語法是什麼?如何快速掌握它的使用示例?]
 *
 * http_build_query 是 PHP 中一個非常實用的函數,主要用於將數組或對象轉換為 URL 查詢字符串。
 * 它經常用於生成 GET 請求的參數,或者在 API 请求中快速构建查詢字符串。
 *
 * 基礎語法:
 *
 * string http_build_query(array $data, string $numeric_prefix = "", string $arg_separator = "&amp;", int $encoding_type = PHP_QUERY_RFC1738)
 *
 * 參數說明:
 * 1. $data:必填,數組或對象,需要被轉換的鍵值對。
 * 2. $numeric_prefix:可選,如果數組索引是數字,可以為其加前綴。
 * 3. $arg_separator:可選,參數之間的分隔符,默認為 &amp;。
 * 4. $encoding_type:可選,編碼類型,PHP_QUERY_RFC1738 或 PHP_QUERY_RFC3986。
 *
 * 基本使用示例:
 */</span>

</span><span><span class="hljs-comment">// 示例 1:最簡單的數組轉換</span></span><span>
</span><span><span class="hljs-variable">$params</span></span><span> = [
    </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Alice'</span></span><span>,
    </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>,
    </span><span><span class="hljs-string">'city'</span></span><span> =&gt; </span><span><span class="hljs-string">'Beijing'</span></span><span>
];

</span><span><span class="hljs-variable">$queryString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">http_build_query</span></span><span>(</span><span><span class="hljs-variable">$params</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$queryString</span></span><span>;
</span><span><span class="hljs-comment">// 輸出:name=Alice&amp;age=25&amp;city=Beijing</span></span><span>

</span><span><span class="hljs-comment">// 示例 2:帶數字索引的數組</span></span><span>
</span><span><span class="hljs-variable">$numbers</span></span><span> = [</span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">20</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>];
</span><span><span class="hljs-variable">$queryString2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">http_build_query</span></span><span>(</span><span><span class="hljs-variable">$numbers</span></span><span>, </span><span><span class="hljs-string">'num_'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span> . </span><span><span class="hljs-variable">$queryString2</span></span><span>;
</span><span><span class="hljs-comment">// 輸出:num_0=10&amp;num_1=20&amp;num_2=30</span></span><span>

</span><span><span class="hljs-comment">// 示例 3:指定參數分隔符</span></span><span>
</span><span><span class="hljs-variable">$queryString3</span></span><span> = </span><span><span class="hljs-title function_ invoke__">http_build_query</span></span><span>(</span><span><span class="hljs-variable">$params</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">';'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span> . </span><span><span class="hljs-variable">$queryString3</span></span><span>;
</span><span><span class="hljs-comment">// 輸出:name=Alice;age=25;city=Beijing</span></span><span>

</span><span><span class="hljs-comment">// 示例 4:使用 RFC3986 編碼</span></span><span>
</span><span><span class="hljs-variable">$queryString4</span></span><span> = </span><span><span class="hljs-title function_ invoke__">http_build_query</span></span><span>(</span><span><span class="hljs-variable">$params</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">'&amp;'</span></span><span>, PHP_QUERY_RFC3986);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span> . </span><span><span class="hljs-variable">$queryString4</span></span><span>;
</span><span><span class="hljs-comment">// 輸出:name=Alice&amp;age=25&amp;city=Beijing (空格和特殊字符会被百分号編碼)</span></span><span>

<span class="hljs-comment">/**
 * 快速掌握方法:
 * 1. 先記住最基本的數組到字符串的轉換方式。
 * 2. 理解 numeric_prefix 對數字索引數組的作用。
 * 3. 熟悉 arg_separator 用於分隔參數。
 * 4. 注意不同編碼類型对 URL 安全性的影響。
 *
 * 總結:
 * http_build_query 可以讓你快速將數組數據變成可用的 URL 查詢字符串,結合 GET 請求或者 API 調用非常方便。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>