1

ディレクトリ内の未定義の数の画像がブラウザに出力されるPHP関数があります。画像はオブジェクトに読み込まれています。私が抱えている問題は、画像がどのように表示されるかです。<td>それらを4つのセルを続けてテーブルに配置したいと思います。コードは次のとおりです。

function displayThumbList(){

   $tlist = $this->getThumbList();
   $i = 0;
   $e = 3;
   echo '<table width="400px" border=1><tr>';
   foreach ($tlist as $value) {
    echo "<td width=\"90px\" height=\"50px\"><a href=\"showImage.php?id=".$this->getBaseName($value,$this->thumbPrefix)."\" target=\"imgHolder\"><img class=\"timg\" src=\"thumbnail/".$value."\" alt=\"a\" /></a></td>";
    $_GET['imagefocus'] = $this->getBaseName($value,$this->thumbPrefix);

  //here is where the condition for adding a <tr> tag is evaluated 
  if ($i == $e){
       echo '<tr>';
     }

  $i++; //increments by 1 with each foreach loop
 }
 echo '</table>';
}

最初の$i(foreachループの3回目)が$ eに等しい場合、プロセスは期待どおりに追加します。条件が満たされるたびに$eを3ずつ増やす必要があります。

画像の数は未定義です。ディレクトリに21の画像がある場合、$ iは21倍に増分し、$ eは7倍に増分し、各増分(3、6、9、12、15など)で3を追加する必要があります。

私は別のループ条件に基づいて増分を探していると思います(等式に達するたびに)。何かご意見は?rwhite35

4

2 に答える 2

3
if ($i == $e){
   echo '<tr>';
   $e = $e + 3;
 }

または、次のようなモジュロを使用します

if ($i % 3 == 0)
于 2012-07-12T19:41:38.877 に答える
0

$i == $e のときに $e を更新したい。その条件は、if ステートメントで既に使用されています。追加するだけ

$e += 3;

これで完了です。

if ($i == $e){
   echo '<tr>';
   $e += 3;
 }
于 2012-07-12T19:42:42.127 に答える