我使用了一个API,该API提供了一个示例,说明他们希望如何格式化POST请求的数据。这是他们的例子:
un=chris&
key=xxxx&
origin=plot&
platform=lisp&
args=[[0, 1, 2], [3, 4, 5], [1, 2, 3], [6, 6, 5]]&
kwargs={"filename": "plot from api",
"fileopt": "overwrite",
"style": {
"type": "bar"
},
"traces": [1],
"layout": {
"title": "experimental data"
},
"world_readable": true
}
我对如何将这些数据放在PHP中的现有数组中感到困惑。根据我的理解,该示例显示了编码的"字符串"那只是部分编码?截至目前,我通过从数组中提取键和值,将所有字符串放在一起。 我正在寻找一种更简洁的方法来使用现有方法吗?
答案 0 :(得分:0)
我相信使用http_build_query会为你解决这个问题。 举个例子,这里有如何使用它的样本:
$args = array(array(0,1,2), array(3,4,5), array(1,2,3), array(6,6,5));
$kwargs = array(
'filename' => 'plot from api',
'fileopt' => 'overwrite'
'style' => array('type' => 'bar'),
'traces' => array(1),
'layout' => array('title' => 'experimental data'),
'word_readable' => true
);
$request = array(
'un' => 'chris',
'key' => 'xxx',
'origin' => 'plot',
'platform' => 'lisp',
'args' => $args,
'kwargs' => $kwargs
);
$queryString = http_build_query($request);
echo $queryString;