人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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";

?>

●質問者: silverspring
●カテゴリ:インターネット ウェブ制作
✍キーワード:PHP print コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● cappin
●35ポイント

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

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


2 ● tadashi0805
●35ポイント

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ