2016-10-28 7 views
0

私は、私のビューで多次元配列をループしようとしています。Laravel Loop Through Multidimesional Array

配列は、(私が私の見解に私のコントローラからの$ mailchimpを渡しています)です:

array:19 [▼ 
     "id" => "f3200e9cc5a900bb7c075103b871232f0" 
     "email_address" => "[email protected]" 
     "unique_email_id" => "xalasd" 
     "email_type" => "html" 
     "status" => "subscribed" 
     "merge_fields" => array:2 [▼ 
     "FNAME" => "John" 
     "LNAME" => "Doe" 
     ] 
     "stats" => array:2 [▶] 
     "ip_signup" => "" 
     "timestamp_signup" => "" 
     "ip_opt" => "93.212.91.32" 
     "timestamp_opt" => "2016-10-27T13:53:02+00:00" 
     "member_rating" => 2 
     "last_changed" => "2016-10-27T13:53:02+00:00" 
     "language" => "" 
     "vip" => false 
     "email_client" => "" 
     "location" => array:6 [▶] 
     "list_id" => "76980934492" 
     "_links" => array:8 [▶] 
    ] 

このコードの私の見解では:

@foreach($mailchimp as $user) 
    @foreach($user as $key => $value) 
     <ul> 
     <li>{{$value}}</li> 
     </ul> 
    @endforeach 
@endforeach 

例外がスローされます:無効な引数が与えforeach()のため

これを修正する方法を教えてもらえますか?

+4

最初のコードは、あなたが投稿スニペット単一のアレイであります単一のユーザーの場合、複数のユーザーの多次元配列ではありません。 –

答えて

1

あなたは、最初の配列の値も配列であると予想しています。そうでない場合は、最初の配列の一部の値だけが配列なので、条件を指定する必要があります。 is_arrayヘルパーを使用して、最初の配列の値が実際の配列であるかどうかを調べることができます。

foreach($a as $b){ 
    if(is_array($b)){ 
     foreach($b as $c){ 
      echo($c); 
     } 
    } 
} 
+0

ありがとうカルロス。 htmlentities()は、パラメータ1が文字列、arrayが与えられているとみなします。 – Mamulasa

0

あなたは、配列find his answer hereをエコーし​​ようとしているので、あなたが直面している主な問題があるカルロスで述べたように。あなたの第二の問題Thanks Carlos. It tried you solution with this result: htmlentities() expects parameter 1 to be string, array givenについて

あなたは、そのページ上の他のコードを持っていない、おそらく{{フォーム::テキスト(「何か」、$配列)}}

+0

他のすべてのコードを削除しました。カルロスの提案を試みた。例外はまだ残っています。何か案が? – Mamulasa