如何用php数组替换url字符串参数

ctehm74n  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(146)

此问题已在此处有答案

Passing arrays as url parameter(11个回答)
昨天关门了。
目前我有这个网址与paramanters。$filter是字符串格式的,并且是rawurlencoded。是否可以使用数组而不是字符串作为$filter?比如array('groups'=>array('11','22','33'))下面是一个正在工作的示例代码。

$endpoint = 'https://api.com/queries';
$filter = "groups:['11', '22', '33']";
$url = $endpoint . '?filter=' . rawurlencode($filter);

它生成了这个URL:

https://api.com/queries?filter=groups%3A%5B%2711%27%2C%20%2722%27%2C%20%2733%27%5D
bxgwgixi

bxgwgixi1#

尝试在使用json_encode()函数之后使用urlencode()函数,如下所示:

$endpoint = 'https://api.com/queries';

$filterArray = array('groups' => array('11', '22', '33'));

$filter = urlencode(json_encode($filterArray));

$url = $endpoint . '?filter=' . $filter;

在此之后,您可以解码URL编码的JSON字符串并将其转换回数组,如下所示:

$filterString = $_GET['filter'];
$filterArray = json_decode(urldecode($filterString), true);

相关问题