首页 > 解决方案 > 在 URL 中传递数组值,http_build_query 没有给出所需的结果

问题描述

我正在寻找可以为键编码数组值的脚本。我需要为多个值传递数组值而不是键数组。

http_build_query 将产生如下输出:

&viewColumns%5B0%5D=date&viewColumns%5B1%5D=adv_responses

我需要如下输出:

&viewColumns=%5B%22date%22%2C%22adv_responses%22%5D

如果有解决办法请告诉我,代码是这样的:

$data= array();
$data['group']  = 'cpcReportsAdvertiser';
$data['dimensions']  = array('date');
$data['viewColumns']  = array('date','adv_responses');
// $data['measures']  = ["adv_responses"];
$date = array('between',array('2019-07-01','2019-07-31'));
$dates = new stdClass; 
$dates->date= $date;
$data['filters']  = $dates;
$data['attributes']  = [];

$sort = new stdClass; 
$sort->column = 'adv_impressions'; 
$sort->direction = 'asc'; 
$data['sort']  = $sort;
$data['limit']  = 50;

$url = sprintf("%s?%s", $url, http_build_query($data));

print_r($url);exit;

标签: phpcurlquery-string

解决方案


要获得viewColumns=%5B%22date%22%2C%22adv_responses%22%5D&哪些解码,viewColumns=["date","adv_responses"]您需要json_encode它:

$data['viewColumns']  = json_encode(array('date','adv_responses'));

推荐阅读