當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP Array轉Query String用法及代碼示例


本文將向您展示如何在 PHP 中將數組轉換為查詢字符串。查詢字符串是 URL 中以問號 (?) 開頭的部分。

例子:

Input: $arr = (
'company' => 'GeeksforGeeks',
'Address' => 'Noida',
'Phone' => '9876543210'
);
Output: company=GeeksforGeeks&Address=Noida&Phone=9876543210

有兩種方法可以將數組轉換為查詢字符串,它們是:

  • 使用http_build_query()方法
  • 使用urlencode()和rtrim()方法

使用http_build_query()方法

http_build_query() 函數用於從關聯(或索引)數組生成 URL 編碼的查詢字符串。

用法:

string http_build_query( 
$query_data,
$numeric_prefix,
$arg_separator,
$enc_type = PHP_QUERY_RFC1738
)

例子:此示例使用 http_build_query() 方法將關聯數組轉換為查詢字符串。

PHP


<?php 
  
$arr = array( 
    'company' => 'GeeksforGeeks', 
    'Address' => 'Noida', 
    'Phone' => '9876543210'
); 
  
$queryStr = http_build_query($arr); 
  
echo $queryStr; 
  
?>
輸出
company=GeeksforGeeks&Address=Noida&Phone=9876543210

使用urlencode()和rtrim()方法

首先,我們將創建一個空字符串,然後使用 foreach 循環將鍵和編碼值與等於和 & 符號合並,並至少從右側修剪 & 符號。

  • urlencode() 函數用於對 URL 進行編碼。此函數返回一個字符串,其中包含除 -_ 之外的所有非字母數字字符。並替換為百分號 (%),後跟兩個十六進製數字和編碼為加號 (+) 的空格。
  • rtrim() 函數用於刪除字符串右側的空格或其他字符(如果指定)。

用法:

string urlencode( $input )
rtrim( $string, $charlist )

例子:此示例使用 urlencode() 和 rtrim() 方法將關聯數組轉換為查詢字符串。

PHP


<?php 
  
// Crreate an Array 
$arr = array( 
    'company' => 'GeeksforGeeks', 
    'Address' => 'Noida', 
    'Phone' => '9876543210'
); 
  
// Create an empty string 
$queryStr = ''; 
  
// Loop to iterate array elements  
foreach ($arr as $key => $value) { 
    $queryStr .= $key . '=' . urlencode($value) . '&'; 
} 
  
// Remove the & symbol of right side 
$queryStr = rtrim($queryStr, '&'); 
  
// Print the Query String 
echo $queryStr; 
  
?>
輸出
company=GeeksforGeeks&Address=Noida&Phone=9876543210


相關用法


注:本文由純淨天空篩選整理自blalverma92大神的英文原創作品 PHP Program to Convert Array to Query String。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。