当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。