2016-08-18 6 views
0

私はこのJSONは、コントローラメソッドに着信がありますLaravel 5 - JSON配列のオブジェクトを消去しますか?

$data = $request->get('data'); 
// output 
// [{"key": " Needs Trim ", "value": "Two"}, {"key": "", "value": "empty key"}] 

これは、オブジェクトの配列だと私はDBのテーブルにそれを挿入する前にそれをきれいにする必要があります

  • トリム先頭/末尾のスペースキー/値(第1オブジェクト)に
  • アレイ(第2物体)から空のキーまたは値

最終的な再で任意のオブジェクトを削除しますオブジェクトの配列の洗浄後のSULTは、次のようになります。

[{"key": "Needs Trim", "value": "Two"}] 

私はlaravelの配列のヘルパー関数に見えたが、私はこれに費やした時間の後に必要な出力を得るように見えることはできません。それは異なるフォーマットを期待し、その例はオブジェクトとは対照的にネストされた配列を示しています...

どのようにこれを達成するためのアイデア?

+0

をあなたはちょうど、カスタムハンドル機能付き)(array_mapを使用することができますか?マニュアル、多くの例を確認してください。 –

答えて

1

これに打撃与える:

$data = json_decode('[{"key": " Needs Trim ", "value": "Two"}, {"key": "", "value": "empty key"}]'); 

foreach ($data as $key => $el) { 
    foreach ($el as $valKey => $val) { 
     if (empty($val)) { 
      unset($data[$key]); 
     } else { 
      $el->$valKey = trim($val); 
     } 
    } 
} 
+0

これはうまくいきます。入れ子にされたforeachを含んでいない解決策があるかどうかを知るために少し質問を残しておきます:) – Wonka

関連する問題