![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
$keyという変数には、aiueo、kakikukeko、sasisuseso、tatitutetoなどの文字列が入ると仮定して、if文でaiueo、sasisusesoの文字列の時のみ、実行させないようにしたい場合、通常は
if ($key != "aiueo" && $key != "sasisuseso") {
処理
}
としなければなりません。しかし、これだともっと条件が多くなった場合、非常に見づらくなってしまいます。
「$keyと言う変数が、○○、××、■■、・・・以外の値の時」という条件を各場合、もっと簡潔にまとめて書く方法って無いでしょうか? 例えば、if ($key != ("aiueo" && "sasisuseso"))みたいな感じで。
(switchを使う手もありますが、これは他の変数($a == 0など)に関する条件を組み合わせたい場合、面倒になるので)
もし、方法などありましたら、教えていただければと思います。
No.3ベストアンサー
- 回答日時:
$cond=array("aiueo" => 1,"kakikukeko" => 1);
if(empty($cond[$key])) {
処理
}
というのは、どうでしょう?
emptyの所はそのまま !$cond[$key] とも書けますが、こっちの方が意味が分かりやすいかも。
もし、このifがループの中で実行されるのでしたら、ループの外側で条件判定の配列を作った方がいいでしょう。また排除が必要な文字列が多くなった時、連想配列ですとあるかどうかの判定が一定時間でできます。整数キー配列ですと、ないことの判定は配列の要素全てを見に行く必要があります。
また、この方法ですと除外する文字列を外部ファイルから読むなどの処理もできます。
No.2
- 回答日時:
switch文では、こんな書き方もできます。
switch (true) {
case $key != 'aioeo':
case $key != 'sasisuseso':
処理
break;
case $key == 'aiueo':
処理
break;
default:
break;
}
参考までに。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Excel(エクセル) 【エクセル】COUNTIFの検索条件が可変する数字の場合の数式 1 2022/09/27 15:34
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Smartyでインクリメント
-
多次元配列の中で条件に合う要...
-
Delphi XEの警告文を消したい
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
楽天トラベルで「京都の宿」が...
-
読み(あ行~わ行)ごとに分け...
-
CArrayの要素としてCStringArra...
-
PHPでCSVの一部の行を編集したい
-
C言語の配列をPush(追加)する...
-
rubyで複数列のデータを一行に...
-
forとかで連番の変数を一気に格...
-
ヒアドキュメントの中のfor文
-
配列をループでたくさん宣言し...
-
行列
-
String だと「 ByRef引数の型が...
-
While文を使って配列の中身を全...
-
PHP SimpleXml unsetについて
-
PHPにてクラスを配列にすること...
-
複数行のデータのPOST処理に関して
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
重複確認
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
Excel VBAでフィルター後の対象...
-
VB.NET で 二次元のハッシュは...
-
多次元配列を、1次元の配列にす...
-
SELECT 使用時の bindValue の...
-
Smartyでインクリメント
-
PHPでこのコード自体に意味は無...
-
PHP、{}記号の意味
-
配列を比較して同じものがあっ...
-
phpでforeachの中にforeachがあ...
-
多次元配列の中で条件に合う要...
-
sqlのデーターを『あ行』『か行...
-
ラジオボタンをランダムに表示...
-
キーが倍数の時の値の存在チェ...
-
三重県南部の温泉
-
foreachで配列を、左から縦3列...
-
ジャグ配列
-
構造体の中でユーザー定義型の...
おすすめ情報