こんにちは、また問題があります。今回はmy laravel project。
次のようなコントローラー機能があります。
public function postDetail(Request $request)
{
$product_requests = $request->sku;
$arr = [];
}
と私 $request->sku
は次のようになりました。
[612552892 => ['quantity' => '1'], 625512336 => ['quantity' => '10']]
しかし、私はこのようなjsonファイルが必要です:
[{"sku_id": 612552892, "quantity": "1"}, {"sku_id": 625512336, "quantity": "10"}]
だから、私も鍵を作るべきですか?しかし..どのように?
そして、私はforeachループでそれを作る必要があると思いますか?誰も私を助けることができますか?
以下のjson_encode()
likeを適用した後、配列を適切な形式に変換する必要があります。
$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}]
これがあなたのために働くことを願っています。
$encodedSku = json_encode($request->sku);
を使用すると、配列の代わりに適切なJSONが得られます。