2012-05-12 24 views
0

私はPHPに慣れていて、配列を循環して5つの項目の後に停止しようとしています。 は、私は次のように使用しています:それは動作するようには思えませんがインデックスを持つ配列を循環するための適切なPHP構文

$images = ($f->APIVer == "1.2.2") ? $images['Images'] : $images; 
      // Display the thumbnails and link to the medium image for each image 
      foreach ($images as $index => $image) { 

       echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
      } 
      while ($index < 5); 
     } 

... は私が何か間違ったことをやっていますか?事前に

おかげ

答えて

4

配列はゼロベースのインデックスを持っている場合は行うことができます。

:あなたは試してみました何

$i = 0; 
foreach ($images as $index => $image) { 
    $i++; 
    if ($i == 5) break; 
    echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
} 

がループの別のタイプである:

foreach ($images as $index => $image) { 
    if ($index == 5) break; 
    echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
} 

は、そうでない場合、あなたはあなた自身のカウンタを追加することができます

$index = 0; 
do { 
    echo '<li><a href="'.$images[$index]['XLargeURL'].'"><img src="'.$images[$index]['TinyURL'].'" alt="thumbnail"/></li>'; 
    $index++; 
} while ($index < 5); 

または

$index = 0; 
while ($index < 5) { 
    echo '<li><a href="'.$images[$index]['XLargeURL'].'"><img src="'.$images[$index]['TinyURL'].'" alt="thumbnail"/></li>'; 
    $index++; 
} 

別の方法としては、forループのようになります。$indexは、あなただけのループから抜け出す可能性が整数であることを考えると

for($index=0; $index < 5; $index++) { 
    echo '<li><a href="'.$images[$index]['XLargeURL'].'"><img src="'.$images[$index]['TinyURL'].'" alt="thumbnail"/></li>'; 
} 
+0

これはすばらしい答えです。 –

+0

5例を与える+1! – Jeroen

+0

間違いなく、優れた反応...ありがとうございました。 – Jjames

0
$images = ($f->APIVer == "1.2.2") ? $images['Images'] : $images; 
    $nm = 0; 
    foreach ($images as $index => $image) { 
     if($nm < 5){ 
      echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
     } 
     $nm++; 
     } 
+0

もうまく機能している、ありがとう! – Jjames

0

は、それはこのようにする必要があります:

$images = ($f->APIVer == "1.2.2") ? $images['Images'] : $images; 

$i = 0; 
// Display the thumbnails and link to the medium image for each image 
foreach ($images as $index => $image) { 
    if ($i == 5) break; 
    echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
    $i++; 
} 

whileはちょうどforeachのように、自分自身でループです。

+0

ありがとうございました – Jjames

0

foreach ($images as $index => $image) { 
    echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>'; 
    if ($index >= 5) { 
     break; 
    } 
} 
関連する問題