• ベストアンサー

 IF文 教えて下さい。

例 if (($in{'pre'} ne "0") && ($in{'pre'} ne "-1")) { 不要なoptin valueを 0と-1。必要が1-47。 value="1" から value="47" までを真にしたいのですが 例を簡単にするには [1-47] 1< とかどう書けば良いのでしょう?・・・ -------------------------------------------- if ($in{'nam'} && $in{'tel'} && ($in{'pre'} ne "0") && ($in{'pre'} ne "-1") && $in{'add'}) { 今はこんな感じでやってるのです・・・ 全部揃ったら真って感じです。条件文が毎回長くなってw(≧m≦)w

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

  • ベストアンサー
  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.2

条件文を長くするのは確かに読みづらくなりますよね。 エラーをカウントする変数 $error_count のようなものを用意し、 エラーの場合には、$error_count++ のようにカウントアップしておいて、最終的にこれが 0か、1以上かを調べてエラー処理させると、すっきります。 if ( $in{'nam'} eq '' ) { $error_count++ } if ( $in{'tel'} eq '' ) { $error_count++ } if ( $in{'pre'} < 1 || $in{'pre'} > 47 ) { $error_count++ } if ( $in{'add'} eq '' ) { $error_count++ } if ( $error_count > 0 ) { # エラー }else{ # 問題なし }

takumana20
質問者

お礼

エラーページはあるので そこにエラーの場合を追加したかったのです。 そして逆の真のパターンなら 確認テーブルを表示したかったのです。 不等号で解決しました。ありがとうございました。

その他の回答 (1)

  • snowize
  • ベストアンサー率27% (68/245)
回答No.1

連番でしたら不等号を使う。 不規則でしたらリストにあらかじめ値を入れてテーブルとして用いるか、switch文を用いる。 質問がよく分からないのですが、今回は前者で構いませんような。

takumana20
質問者

お礼

質問が??でごめんなさい! どう説明していいのか・・・peal初心者ですw 連番なのですが不等号で解決しましたありがとうございました。

関連するQ&A