PHP将变量插入post请求的字符串中
我的函数在$json变量只有一个字符串时工作,但在尝试将值作为变量插入时不工作。不知道问题是什么。这是我的密码:PHP将变量插入post请求的字符串中,php,Php,我的函数在$json变量只有一个字符串时工作,但在尝试将值作为变量插入时不工作。不知道问题是什么。这是我的密码: $myAPIKey = "apikey"; $command = "campaignstats"; $id = "9000"; $date = "2016-01-11"; $groupby = "domain"; function call($apiKey, $cmd, $dt, $i, $gpby) { $url = "http://data.co
$myAPIKey = "apikey";
$command = "campaignstats";
$id = "9000";
$date = "2016-01-11";
$groupby = "domain";
function call($apiKey, $cmd, $dt, $i, $gpby) {
$url = "http://data.company.net/auth";
// $json = '{"command" : "campaignstats",
// "date" : "2016-01-11",
// "id" : "9000",
// "groupby" : "domain"}';
$json = '{"command" : '.$cmd.',
"date" : '.$dt.',
"id" : '.$i.',
"groupby" : '.$gpby.'}';
$sAPIKey = auth($apiKey);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'json='.$json.'&sapi_key='.$sAPIKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$raw_output = curl_exec($ch);
curl_close($ch);
$output = json_decode($raw_output, true);
}
call($myAPIKey, $command, $id, $date, $groupby);
您可以使用
json\u encode
,只需根据您拥有的数据构建一个关联数组
$data = [
'command' => $cmd,
'data' => $dt,
'id' => $i,
'groupby' => $gpby
];
$string = json_encode($data);
然后将其作为post字段的值传递
curl_setopt($ch, CURLOPT_POSTFIELDS, 'json='.$string.'&sapi_key='.$sAPIKey);
使用,从所需的数据构建一个数组
$json = [
'command' => $cmd,
'data' => $dt,
'id' => $i,
'groupby' => $gpby
];
$data = json_encode($json);
然后进入post字段
curl_setopt($ch, CURLOPT_POSTFIELDS, 'json='.$data.'&sapi_key='.$sAPIKey);
编辑您的呼叫功能,如订单$date将位于第三位,$id将位于第四位
call($myAPIKey, $command, $date, $id, $groupby);
不要手动构建JSON。制作一个数组并使用json\u encode()
转换它。