如何将内爆结果正确保存在数组中?
How to save implode results in array correctly?
我的 data_array 是这样的:
Array (
[0] => 1
[1] => 2
[2] => 3 )
我的代码是这样的:
public function test(Request $request)
{
$client = new GuzzleHttpClient();
...
$concat_data = implode(',', $data_array);
$result = $client->request('POST', $url, [
'headers'=>[
'content-type'=>'application/json',
'Authorization'=> 'Bearer '.auth()->user()->api_token
],
'json'=>['ids'=>[$concat_data]]
]);
$content = json_decode($result->getBody()->getContents());
}
如果执行代码,它不能完美运行。它只是用 id = 1
更新数据
但是,如果我像这样尝试使用静态数据:
public function test(Request $request)
{
$client = new GuzzleHttpClient();
...
$concat_data = implode(',', $data_array);
$result = $client->request('POST', $url, [
'headers'=>[
'content-type'=>'application/json',
'Authorization'=> 'Bearer '.auth()->user()->api_token
],
'json'=>['ids'=>[1,2,3]]
]);
$content = json_decode($result->getBody()->getContents());
}
有效。它成功更新了 id = 1、id = 2 和 id = 3
的数据
看来我将内爆结果存储在数组中的方式仍然是错误的
我该如何解决这个问题?
备注
如果执行代码,它会更新 ids 的值
implode
将数组转换为字符串,而从您的工作静态版本来看,API 似乎接受原始数组。您向它发送字符串 "1,2,3",它无法理解。
你应该可以直接使用
'json' => ['ids' => $data_array]
并完全跳过 implode
调用。
我的 data_array 是这样的:
Array ( [0] => 1 [1] => 2 [2] => 3 )
我的代码是这样的:
public function test(Request $request)
{
$client = new GuzzleHttpClient();
...
$concat_data = implode(',', $data_array);
$result = $client->request('POST', $url, [
'headers'=>[
'content-type'=>'application/json',
'Authorization'=> 'Bearer '.auth()->user()->api_token
],
'json'=>['ids'=>[$concat_data]]
]);
$content = json_decode($result->getBody()->getContents());
}
如果执行代码,它不能完美运行。它只是用 id = 1
更新数据但是,如果我像这样尝试使用静态数据:
public function test(Request $request)
{
$client = new GuzzleHttpClient();
...
$concat_data = implode(',', $data_array);
$result = $client->request('POST', $url, [
'headers'=>[
'content-type'=>'application/json',
'Authorization'=> 'Bearer '.auth()->user()->api_token
],
'json'=>['ids'=>[1,2,3]]
]);
$content = json_decode($result->getBody()->getContents());
}
有效。它成功更新了 id = 1、id = 2 和 id = 3
的数据看来我将内爆结果存储在数组中的方式仍然是错误的
我该如何解决这个问题?
备注
如果执行代码,它会更新 ids 的值
implode
将数组转换为字符串,而从您的工作静态版本来看,API 似乎接受原始数组。您向它发送字符串 "1,2,3",它无法理解。
你应该可以直接使用
'json' => ['ids' => $data_array]
并完全跳过 implode
调用。