• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの論理演算子につきまして)

PHPの論理演算子で複数の値と一致した場合にtrueを返す方法

このQ&Aのポイント
  • PHPの論理演算子を使用して、複数の値と一致した場合にtrueを返す方法について教えてください。
  • 具体的には、変数$sampleの値が01から30のいずれかと一致した場合にtrueを返したいです。
  • 現在は条件を || 演算子で繋げていますが、他にも効果的な方法があれば教えてください。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

数字を01のように書くとバグの温床になりそうなので、 かりに文字列としてチェックすると if(in_array($sample,array('01','02','03','04', ・・略・・,'30')) { echo "<p>条件に合っています。</p>"; } else { echo "<p>条件以外です。</p>"; } となります。 もし$sampleが数値で、検査範囲が連番であればrange()など使えるかもしれません if(in_array($sample,range(1,30)){ echo "<p>条件に合っています。</p>"; } else { echo "<p>条件以外です。</p>"; }

ya-ya-
質問者

お礼

早々のご教授 ありがとうございます。 in_array関数を活用してみます。 ご指導ありがとうございました!!

その他の回答 (1)

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

良くないと思います。 それが動くphpがあるなら知りたいところですね(使いたいとは言わない)。 if ($sample=="01" or $sample=="02" or $sample=="03" or ‥‥ $sample=="30") と長~く並べるか、 比較対象の値を配列に格納し、in_array関数を使うのがよろしいでしょう。 http://www.php.net/manual/ja/function.in-array.php

ya-ya-
質問者

お礼

すいません。 No1の方のご教授で記述法が分かりました ありがとうございました。

ya-ya-
質問者

補足

早々のご教授ありがとうございます。 では、 <?php $code = array("01", "02", "03",・・・, "30"); if (in_array($sample, $code)) { echo "正しい"; } else { echo "間違い"; } ?> in_array関数 を使うと $sample, $codeが 比較一致した場合 True となると考えていいのでしょうか。 ご多忙のところ大変恐縮ですが 合わせてご教授賜りますようお願いいたします。

関連するQ&A

専門家に質問してみよう