php CURLOPT_POSTFIELDS 如何传递多参数
PHP中文网
PHP中文网 2017-05-31 10:33:46
0
2
812

如题,

$data = $textArray['content'];// 是个字符串
$params = array('top_k'=>10);
$ch = curl_init();
curl_setopt_array($ch,
    CURLOPT_POSTFIELDS => json_encode($data,$params,JSON_UNESCAPED_UNICODE),
));// 这里其他部分省略了

我是这样写的

但是打印json_encode($data,$params,JSON_UNESCAPED_UNICODE),发现为空

然后这样写CURLOPT_POSTFIELDS => json_encode($data,JSON_UNESCAPED_UNICODE),json_encode($params,JSON_UNESCAPED_UNICODE),
这样发现$params没有传过去

求解答 谢谢

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
小葫芦

方法1

$data = $textArray['content'];// 是个字符串
$params = array('top_k'=>10);

$array = [];
$array['data'] = $data;
$array['params'] = $params;

$ch = curl_init();
curl_setopt_array($ch,
    CURLOPT_POSTFIELDS => json_encode($array,JSON_UNESCAPED_UNICODE),
));
//code.....

方法2

$data = $textArray['content'];// 是个字符串
$params = array('top_k'=>10);

$params['data'] = $data;

$ch = curl_init();
curl_setopt_array($ch,
    CURLOPT_POSTFIELDS => json_encode($params,JSON_UNESCAPED_UNICODE),
));
//code.....

方法2的变形

$data = $textArray['content'];// 是个字符串

$params = array('top_k'=>10,'data'=>$data);

$ch = curl_init();
curl_setopt_array($ch,
    CURLOPT_POSTFIELDS => json_encode($params,JSON_UNESCAPED_UNICODE),
));
//code.....

方法3 简洁版

$ch = curl_init();
curl_setopt_array($ch,
    CURLOPT_POSTFIELDS => json_encode(array('top_k'=>10,'data'=>$textArray['content']),JSON_UNESCAPED_UNICODE),
));
//code.....

这不就可以了。。。。

我发现你对php的基础知识都不了解。。

某草草

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板