- ベストアンサー
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
- みんなの回答 (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{ # 問題なし }
その他の回答 (1)
- snowize
- ベストアンサー率27% (68/245)
連番でしたら不等号を使う。 不規則でしたらリストにあらかじめ値を入れてテーブルとして用いるか、switch文を用いる。 質問がよく分からないのですが、今回は前者で構いませんような。
お礼
質問が??でごめんなさい! どう説明していいのか・・・peal初心者ですw 連番なのですが不等号で解決しましたありがとうございました。
お礼
エラーページはあるので そこにエラーの場合を追加したかったのです。 そして逆の真のパターンなら 確認テーブルを表示したかったのです。 不等号で解決しました。ありがとうございました。