質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

399閲覧

switch構文で OR条件

pegy

総合スコア243

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/12/22 03:11

下記のように、case 1 とcase 2は同様の処理のため、纏めたいと思うのですが
if分のように OR条件で"|"を使用することができませんでした。
同様の処理をしたいけれども、煩雑になるのでcaseを分けたくない場合
何か方法はございますでしょうか?

アドバイスを頂ければ幸いです。

PHP

1switch($hoge){ 2case "1|2": 処理 3 break; 4case "3": 処理 5 break; 6case "4": 処理 7 break; 8default : 処理 9  break; 10}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こんなイメージで良いですか?

php

1$hoge = "2"; 2switch ($hoge) { 3 case 0: 4 case 1: 5 echo "group 1";//$hogeが0でも1でも、group 1と出力される。 6 break; 7 case 2: 8 echo "group 2"; 9 break; 10 default: 11 echo "group other"; 12}

投稿2017/12/22 03:18

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pegy

2017/12/22 04:00

ありがとうございます。 無事解決することができました。
guest

0

ベストアンサー

switchはヒットするcaseに飛んだあとbreakするまで下に流れていくので

PHP

1switch($hoge){ 2case "1": 3case "2": 4 処理 5 break; 6case "3": 処理 7 break; 8case "4": 処理 9 break; 10default : 処理 11  break; 12}

とすればよいでしょう

追記

ちなみに、あまり推奨される使い方ではないですが
こういう処理方法もあります。
ケースを限定して考えれば有効でしょう。

PHP

1swich(true){ 2case ($hoge>=1 and $hoge<=5): 3 print 1; 4 break; 5case in_array($hoge,[6,7,9]): 6 print 2; 7 break; 8default: 9 print 3; 10 break; 11}

投稿2017/12/22 03:18

編集2017/12/22 03:42
yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pegy

2017/12/22 03:59

なるほど、大変参考になりました。 有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問