1から31まで表示したいのですが、下記のコードだと-5から1が表示されてしまいます。また31から36も表示されてしまいます。if文で-5<=1を比べて、falseなので<TD>&nbsp;</TD>が表示されるものだと思うのですが、なぜ結果が違うのでしょうか?


<?php
$x = -5;
for($i=1;$i<=6;$i++){
print "<TR>";
for($j=1;$j<=7;$j++){
if ( $x <= 1 || $x >= 31) {
print "<TD>$x</TD>";
} else{
print "<TD>&nbsp;</TD>";
}
$x++;
}

}
print "</TR>\n";

?>

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2006/10/05 11:51:01
  • 終了:2006/10/12 11:55:02

回答(2件)

id:cappin No.1

cappin回答回数89ベストアンサー獲得回数32006/10/05 11:57:06

ポイント35pt

不等号が逆ですね!私もしょっちゅうやります‥。

http://phaos.hp.infoseek.co.jp/preparations/ineq/inequality.htm

id:tadashi0805 No.2

tadashi0805回答回数287ベストアンサー獲得回数292006/10/05 12:00:36

ポイント35pt

$x<=1は、-5ならfalseでなくtrueですよ。1以下がtrueになる条件ですよね?

同様に$x>=31では、31以上がtrueです。

なので、$xが2~30では が出力され、それ以外では$xの値が出力されます。

http://q.hatena.ne.jp/1160016660

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません