$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ランキング
-
連想配列のキー値(連番)を基...
-
連想配列でキーを利用して一部...
-
foreachの間にテーブルの<TR>を...
-
配列からプルダウン用のHTMLを生成
-
PHPでテキストファイルを読み込...
-
PHPで配列をPOSTデータで送った...
-
配列を回すとき、最後の要素だ...
-
C言語 最大値と最小値を求めて...
-
Pager::factory()の使い方がわ...
-
$_SESSIONに二次元配列を使える...
-
行数が30万件ほどあるCSVから、...
-
エラーの原因について
-
String だと「 ByRef引数の型が...
-
配列の何番目かを出力したい
-
テキストボックスの日本語をロ...
-
PHPでCSVの一部の行を編集したい
-
pythonのnumpyでの繰り返しでの...
-
file_existsでファイル名の部分...
-
スカラーのベクトル微分
-
php で1から100までの素数の表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
foreachで上限回数指定方法また...
-
VB.NET で 二次元のハッシュは...
-
PHP、{}記号の意味
-
マッチング処理(1:N)
-
sqlのデーターを『あ行』『か行...
-
3つの連想配列を交互に代入し...
-
smartyのforeachの使い方
-
Smartyでインクリメント
-
Excel VBAでフィルター後の対象...
-
連想配列でキーを利用して一部...
-
ラジオボタンをランダムに表示...
-
ftokが動かない?
-
配列からプルダウン用のHTMLを生成
-
リストボックス複数選択抽出方法
-
関数の引数に配列を初期化なしで。
-
foreachの間にテーブルの<TR>を...
-
smartyでtplファイルでの2次元配列
-
PHPで変数名にハイフンを使うに...
-
PHPでJSONを扱うときに配列の参...
-
PHPで連想配列のプルダウンメニ...
おすすめ情報