2017-12-12 9 views
2

変数カテゴリの助けを借りて、私は$ categoryを$ categoryとして行うと、すべての配列にキー/デフォルトインデックスがないこの配列を持っています。 foreachと私が$ category ['name']をエコーし​​たとき、それは違法な傷を与える。不正な文字列オフセット 'name' php - 1つの配列に多くの配列があります

このための可能な解決策になることができますか私は最初の配列を検証する必要がありますどのようなlaravelブレード

enter image description here

を使用していますか?

+1

カテゴリはオブジェクトである可能性があります。代わりに '$ category-> name'を使ってみてください。 –

+0

いいえ、私はすでにこれを試して、エラーは、非オブジェクトのプロパティを取得しようとしています。 –

答えて

1

私はこれがあなたの状況で、私の意見では、あなたが聞かせて復号化するために間違った変数を使用していると思います私はあなたのイメージをここで一例として取り上げます。この例では

<?php 

     $ex = [ 
    'result' => 'success', 
     'categories' => [ 
     [ 
     'id'=>1, 
     'name'=>'cat1', 
    ], 
    [ 
     'id'=>2, 
     'name'=>'cat21', 
    ], 
    [ 
     'id'=>3, 
     'name'=>'cat31', 
    ], 
    ] 
]; 
echo "<pre>"; 
$res = json_encode($ex); 
print_r(json_decode($res)); 

、私はちょうど私がすべての問題なく容易json_encodeとjson_decodeを行っていることを示し、JSONの出力はあなたの例のイメージと同じです。

enter image description here

ありがとうございました!

2

上記のコードは、例えば

最初の配列に変換し、JSON形式である

$ex = { 
     'result':"success", 
     'categories':[{ 
       //your rest of the code 
      }] 
    } 
    $data = json_decode($ex, TRUE); 
//next use for each 
    foreach($data as $key => $value) 
    { 
     //rest of your logic 
    } 
+0

"json_decode()はパラメータ1が文字列、arrayが指定されていると想定しています" –

関連する問題