2017-07-24 126 views
0

我有这个数组的foreach循环。我想在一个周期后停止它。打破foreach循环3

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

       <li class="span3 clearfix" data-tag=', $item['qualityId'], 
    '> 
       <div class="element-item ', $item['qualityId'], '" data-category="element-item ', $item['qualityId'], '"> 

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

    break; 
echo ' 

该数组有500个数字键。

[result] => Array 
    (
     [mounts] => Array 
      (
       [0] => Array 
        (
         [name] => Elfenbeinfarbener Falkenschreiter 
         [itemId] => 142369 
         [qualityId] => 4 
         [icon] => inv_ability_mount_cockatricemount_white 
        ) 

       [1] => Array 
        (
         [name] => Tundramammut des Reisenden 
         [itemId] => 44234 
         [qualityId] => 4 
         [icon] => ability_mount_mammoth_brown_3seater 
        ) 

       etc. 

问题是,一个循环后,整个数组得到了回声。

+0

您需要向foreach添加大括号以便在其中执行多行代码。 – yanman1234

+4

为什么使用循环,如果你想在一个周期后打破循环? – ArtOsi

回答

2

为什么要循环呢?为什么不抓住第一行:

$item = $r['result']['mounts'][0]; 
1

你已忘了花括号:

foreach ($r['result']['mounts'] as $item) { 
    echo '...'; 
    break; 
} 
0
foreach ($r['result']['mounts'] as $item) 
{ 
    echo '<li class="span3 clearfix" data-tag=', $item['qualityId'], '> 
      <div class="element-item ', $item['qualityId'], '" data-category="element-item ', $item['qualityId'], '"> 
       <a href="//de.wowhead.com/item=', $item['itemId'], '" class="', $item['qualityId'], '"> 
       <img src="http://wow.zamimg.com/images/wow/icons/large/', $item['icon'], '.jpg" alt="', htmlspecialchars($item['name']), '" > 
       </a> 
      </div> 
      </li>'; 

    break; 
} 

但为什么要循环,如果你只想要第一个周期?!