2016-04-25 16 views
-1

私の配列のフォーマットを完全に変更しました。私は私の希望を単純に誤解していました。だから私の配列は次のようになります配列を含む配列をループする

array:9 [▼ 
    0 => array:4 [▼ 
    "leadData" => array:7 [▼ 
     "LeadID" => "1232806" 
     "Client" => "Some Client" 
     "LeadName" => "Test" 
     "Owner" => "Someone" 
     "Value" => "2160.00" 
    ] 
    "clientData" => array:2 [▼ 
     "Prospect" => "No" 
    ] 
    "quoteData" => array:8 [▼ 
     "QuoteID" => "Q0020" 
     "ProjectName" => "Test" 
     "Amount" => "1234" 
    ] 
    "customData" => array:2 [▼ 
     0 => array:1 [▼ 
     "Type" => "New" 
     ] 
     1 => array:1 [▼ 
     "Month" => "June 16" 
     ] 
    ] 
    ] 
    2 => array:4 [ 
    ... 
    ] 
] 

これは基本的に4つの内側配列です。今、私が次のことをすれば、leadData内部配列のすべてのデータを出力することができます。

foreach($leadArray as $array) 
    <tr> 
     foreach($array['leadData'] as $leadKey => $leadData) 
      <td> 
       {{ $leadData }} 
      </td> 
     endforeach 
    </tr> 
endforeach 

これは問題なく動作します。しかし、私はこの配列の特定の部分を表示したいだけです。私はこれを行う場合、私はしかし、

foreach($leadArray as $array) 
    <tr> 
     foreach($array['leadData'] as $leadKey => $leadData) 
      <td> 
       {{ $leadData['LeadID'] }} 
      </td> 
      <td> 
       {{ $leadData['LeadName'] }} 
      </td> 
     endforeach 
    </tr> 
endforeach 

を働くだろう次のようなものをやっているだろうと推測私が取得し、不正な文字列がエラーをオフセット。これは私がこのデータにアクセスする方法ではありませんか?

p.s.私はforeachループなどを行う方法を無視し、これは私がテンプレートエンジンを使用しているためです。

おかげ

+0

あなたはオブジェクト配列と連想配列で混ぜます。 '$ leadData-> LeadID' –

+0

オブジェクト配列と連想配列はどのようにして区別できますか? –

+0

まず 'print_r'を使って配列を表示します。 –

答えて

1

あなたがデータを取得するためにキーを使用することができ、二番目の配列をループする必要はありません。

foreach($leadArray as $array) 
    <tr> 
     <td> 
      {{ $array['leadData']['LeadID'] }} 
     </td> 
     <td> 
      {{ $array['leadData']['LeadName'] }} 
     </td> 
    </tr> 
endforeach 
+0

それはポイントに作用し、それから不確定なインデックスに文句を言う:quoteData –

+0

別のレベルでデータを表示しようとすると、あなたは 'leadData'を置き換える必要があります。たとえば、次のようになります。 '$ array ['quoteData'] ['QuoteID']'。 – Jerodev

+0

@ kate_hudson、それが動作していれば配列は結合的なので、ロジックを使ってすべての値を表示する必要があります。 –

0
Your main array will be like this, where you want to work, right? 
<pre> 
$aMainArray = array(
    0 => array(
     "leadData" => array(
      "LeadID" => "1232806", 
      "Client" => "Some Client", 
      "LeadName" => "Test", 
      "Owner" => "Someone", 
      "Value" => "2160.00", 
     ) 
    ) 
); 
foreach ($aMainArray AS $aSubArray) { 
    print_r($aSubArray); 
    // You can echo your required values like below 
    echo $aSubArray['leadData']['LeadID']; 
    echo $aSubArray['leadData']['LeadName']; 
    // OR like this one 
    foreach ($aSubArray AS $value) { 
     echo $value['LeadID']; 
     echo $value['LeadName']; 
    } 
} 
</pre> 
+0

私の編集された答えを見直してください。あなたが実り多いと分かったら、私に投票してください。 –

関連する問題