我想得到这样的字符串:
'campaigns?fields=campaigns.id,campaigns.settings.title'
我试着这样:
$param = [
'campaigns',
'fields' => [
'campaigns.id',
'campaigns.settings.title'
]
];
但是得到这个:
0=campaigns&fields[0]=campaigns.id&fields[1]=campaigns.settings.title
enter code here
如何编辑?
答案 0 :(得分:0)
您可以尝试使用implode():
$param = [
'campaigns',
'fields' => [
'campaigns.id',
'campaigns.settings.title'
]
];
echo $param[0] . '?' . 'fields=' . implode(',', $param['fields']);
// campaigns?fields=campaigns.id,campaigns.settings.title
答案 1 :(得分:0)
您可以使用爆炸(' & '),因为您目前正在路上行动:
<pre>
<?php
$arr=array();
$str="0=campaigns&fields[0]=campaigns.id&fields[1]=campaigns.settings.title";
$arr=explode("&",$str);
print_r($arr);
?>
</pre>
答案 2 :(得分:0)
我强烈关注,你真的想拥有这样的http字符串:
campaigns?fields=campaigns.id,campaigns.settings.title
表示:使用包含字符串campaigns
的单个http参数fields
转到网址campaigns.id,campaigns.settings.title
。
我认为你应该选择其中一种可能的变体:
campaigns?fields[]=campaigns.id&fields[]=campaigns.settings.title
所以你发送了有两个值的字段数组 或者:
campaigns?campaigns[id]=xxxx&campaigns[settings][title]=yyyyy
将http参数分割为适当的对象
http_build_query仅构建查询字符串的一部分,即初始字符串中的fields=campaigns.id,campaigns.settings.title
。你不能用http_build_query获得完整的字符串,但你可以使用这样的东西:
'campaigns?' . http_build_query(fields: 'campaigns.id,campaigns.settings.title')
获取您想要的确切字符串