2016-06-25 7 views
0

は、私は2つのforeach文を持っている:パラレルforeachループ

第一

foreach ($r['result']['achievements']['0']['achievements'] as $achievement){ 
    if(!empty($achievement['rewardItems'])){ 
    foreach ($achievement['rewardItems'] as $item){ 
     echo "$item[name] $item[id]<br/>".PHP_EOL; 
    } 
    } 
} 

第二

foreach ($r['result']['achievements']['0']['achievements'] as $item) echo ' 

         <li class="span3 clearfix" data-tag=', $item['qualityId'], '> 
           <a 
             href="//de.wowhead.com/achievement=', $item['id'], '" 
             class="', $item['qualityId'], '" 
           > 
             <img 
               src="http://wow.zamimg.com/images/wow/icons/large/', $item['icon'], '.jpg" 
               alt="', htmlspecialchars($item['name']), '" 
             > 
           </a> 
', $item['name'], '. 
         </li>'; 

彼らの両方が自分のために実行されています。しかし、私は2番目のループの結果に1番目のforeachループの結果が必要なので、私はそれらを並列実行する必要があります。

+0

2番目のforeachではどのような結果が必要ですか?あなたは、あなたが持っているもの/今得られるもの、そしてあなたが得ることを試みるものの簡単な例を作ることができますか? – Rizier123

+0

最初のループでは、['rewardItems']配列から$ item [name]を取得します。 2番目の配列の

  • にこれが必要です。今私は結果を分離して、私はそれらが一緒に必要です。 – Hertus

    答えて

    0

    私は、あなたが並列処理を必要としないと仮定します。 2番目のレベルのループが必要です。役立つ場合は、このコードを試してください。

    foreach ($r['result']['achievements']['0']['achievements'] as $item) { 
         echo '<li class="span3 clearfix" data-tag=', $item['qualityId'], '>'; 
    
         if(!empty($item['rewardItems'])){ 
          foreach ($item['rewardItems'] as $item1){ 
           echo "$item1[name] $item1[id]<br/>".PHP_EOL; 
          } 
         } 
    
         echo '       <a 
                  href="//de.wowhead.com/achievement=', $item['id'], '" 
                  class="', $item['qualityId'], '" 
                > 
                  <img 
                    src="http://wow.zamimg.com/images/wow/icons/large/', $item['icon'], '.jpg" 
                    alt="', htmlspecialchars($item['name']), '" 
                  > 
                </a> 
        ', $item['name'], '. 
              </li>'; 
             } 
    

    現在の出力と希望する出力を提供してください。それはあなたがしたいことをより明確にします。

    +0

    ありがとう!それは私が検索したものです! – Hertus