- 締切済み
繰り返し処理
10回繰り返し処理する中で、1回目・3回目・5回目・7回目・9回目はスルーして、2回目・4回目・6回目・8回目・10回目にtrueになる方法を教えて欲しいです。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
コードの書き方を工夫してもっと視認性をたかめない とご自身でもなに書いているかわからないのでは? whileで回してfalse->true->・・・とするなら いわゆる三項演算子でフラグのtrueとfalseを 入れ替えればよいでしょう。 なお見やすくするためヒアドキュメントに しときました。 <?php $flg=false; while ($row_index_actress = mysql_fetch_assoc($index_actress)){ if ($flg){ print <<<eof <td> <a href="actress/actress.php?act_no={$row_index_actress[act_no]}> <img src="images/s/{$row_index_actress[act_no]}/1.jpg" width="108" height="138" border="0" /> </a></td> eof; } $flg=($flg==true)?false:true; } ?>
- ymmasayan
- ベストアンサー率30% (2593/8599)
PHPは良く知りませんが 普通は奇偶判定をします。 N-(INT(N/2))*2 とか mod(N,2)とか。
ようするに偶数の時だけってことですね。 偶数とは、 「2で割った余りが0」 という事です。その場合は除余演算子「%」を使います。 例えばこんな感じです。 <?php for($i=1;$i<=10;$i++){ // 偶数の時だけ表示 if($i%2==0){ print "i=".$i."<br>\n"; } } ?>
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 for ( $i = 1; $i <= 10; $i ++ ) { if ( $i % 2 == 0 ) { //ここがTrueの処理 } } これで応用効きますでしょうか。 forなんて使ってない!ってなったらカウント用の変数を用意して下さい。 動作原理としては、偶数時に処理を行うということで2で割った余りを調べて 0の場合に処理を行うようにしています。
お礼
早速のお返事、ありがとうございます。。。 また、わからないことがあったらお願いしますね
補足
<?php do { ?><td> <a href="actress/actress.php?act_no=<?php echo $row_index_actress['act_no']; ?>"> <img src="images/s/<?php echo $row_index_actress['act_no']; ?>/1.jpg" width="108" height="138" border="0" /> </a></td> <?php } while ($row_index_actress = mysql_fetch_assoc($index_actress)); ?> に入れたいのですが、その場合はどうなりますか?