0

私はPHPに慣れていないので、配列を循環させて5項目後に停止しようとしています。私は以下を使用しています:

    $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

4 に答える 4

4

配列にゼロベースのインデックスがある場合、次のことができます。

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

それ以外の場合は、独自のカウンターを追加できます。

$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>';
}

あなたが試したのは別のタイプのループです:

$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ループです。

for($index=0; $index < 5; $index++) {
    echo '<li><a href="'.$images[$index]['XLargeURL'].'"><img src="'.$images[$index]['TinyURL'].'" alt="thumbnail"/></li>';
}
于 2012-05-12T18:22:23.540 に答える
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++;
       }
于 2012-05-12T18:20:39.983 に答える
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です。

于 2012-05-12T18:22:01.513 に答える
0

それ$indexが整数であるとすれば、ループから抜け出すことができます:

foreach ($images as $index => $image) {
    echo '<li><a href="'.$image['XLargeURL'].'"><img src="'.$image['TinyURL'].'" alt="thumbnail"/></li>';
    if ($index >= 5) {
        break;
    }
}
于 2012-05-12T18:23:20.133 に答える