我可以将数组作为 url 参数传递的最佳方式是什么?我在想这是否可能:

$aValues = array();

$url = 'http://www.example.com?aParam='.$aValues;

或者这个怎​​么样:
$url = 'http://www.example.com?aParam[]='.$aValues;

我读过例子,但我觉得它很乱:
$url = 'http://www.example.com?aParam[]=value1&aParam[]=value2&aParam[]=value3';

最佳答案

有一个非常简单的解决方案: http_build_query() 。它将您的查询参数作为关联数组:

$data = array(
    1,
    4,
    'a' => 'b',
    'c' => 'd'
);
$query = http_build_query(array('aParam' => $data));

将返回
string(63) "aParam%5B0%5D=1&aParam%5B1%5D=4&aParam%5Ba%5D=b&aParam%5Bc%5D=d"
http_build_query() 为您处理所有必要的转义( %5B => [%5D => 0x231313 203141 => 0x231318 2314 2351318 等于 2351318 等 2351318 字符串等于 13,135

关于php - 将数组作为 url 参数传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1763508/

10-13 00:55