Hy Guys,我又遇到了问题。这次是我的laravel项目。
我有一个像这样的控制器功能:
public function postDetail(Request $request)
{
$product_requests = $request->sku;
$arr = [];
}
Run Code Online (Sandbox Code Playgroud)
我的$request->sku样子是这样的:
[612552892 => ['quantity' => '1'], 625512336 => ['quantity' => '10']]
Run Code Online (Sandbox Code Playgroud)
但我需要这样的json文件:
[{"sku_id": 612552892, "quantity": "1"}, {"sku_id": 625512336, "quantity": "10"}]
Run Code Online (Sandbox Code Playgroud)
所以,我也应该做钥匙吗?但是..如何?
而且我认为我必须在foreach循环中实现,对吗?有人可以帮助我吗?
您需要将数组转换为适当的格式,然后再进行json_encode()如下所示的应用:
$arrSku = array('612552892' => array('quantity' => 1), '625512336' => array('quantity' => 10) );
$arrNewSku = array();
$incI = 0;
foreach($arrSku AS $arrKey => $arrData){
$arrNewSku[$incI]['sku_id'] = $arrKey;
$arrNewSku[$incI]['quantity'] = $arrData['quantity'];
$incI++;
}
//Convert array to json form...
$encodedSku = json_encode($arrNewSku);
print('<pre>');
print_r($encodedSku);
print('</pre>');
//Output:
[{"sku_id":612552892,"quantity":1},{"sku_id":625512336,"quantity":10}]
Run Code Online (Sandbox Code Playgroud)
希望这对您有用。