我有两个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>';
他们俩都在为自己奔跑。但我需要它们并行运行,因为我需要将第一个foreach循环的结果转换为第二个循环的结果。
答案 0 :(得分:0)
我认为,您不需要并行处理。你只需要一个二级循环。如果它有帮助,请尝试使用此代码。
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>';
}
请提供您当前的输出和所需的输出。这将使我们更清楚你想做什么。