• ベストアンサー

if文を何度も続けていて途中からエラーになった。

いつもお世話になっています。 星座の振り分けで if (($tuki==01 and $nichi>=21) || ($tuki==02 and $nichi<=19)){ print "水瓶座"; } としてみたのですが、 これを蟹座までひたすらif文で if (($tuki==06 and $nichi>=22) || ($tuki==07 and $nichi<=23)){ print "蟹座"; } と続けていました。 ここまでは正常に動いていました。 が 獅子座 if (($tuki==07 and $nichi>=24) || ($tuki==08 and $nichi<=23)){ print "獅子座"; } を入力した時点で500エラーになってしまいました。 まったく事務処理的に同じように文章を組み立てていたのに なぜ獅子座からはエラーになるのかが分かりません。 何か構文的なミスがあるのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsaito
  • ベストアンサー率68% (17/25)
回答No.2

08が、8進数って解釈されたのかと "08"のように数字を全部囲んだらどうでしょう。

xphp
質問者

お礼

ご回答ありがとうございました。 ご指摘のとおりに、08を""で囲んだらうまくいきました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • splwtr
  • ベストアンサー率16% (75/461)
回答No.1

phpはよく知らないんですが、 月の値の、頭の0を取り除いてはどうでしょう? 10進数の表現に、 頭に0を付加した月の値の01....08ってありなんですか? 8進数の表現と思います。

参考URL:
http://manual.xwd.jp/language.types.integer.html
xphp
質問者

お礼

参考URLありがとうございました。 参考先のページに確かに8進数は頭に0をつけるとかいてありますね。 今度頭の0を取り除いた表現も試してみます。 どうもありがとうございました。

xphp
質問者

補足

お礼をしたあとに 頭の0を取り除いた表現も試してみました。 ご指摘のとおり、正常に動きました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A