3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

VBのSelect CaseとPHPのSwitchでの書き方の違い

2012年8月19日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

Excelマクロ・VBA達人養成塾 小川です。

エクセルマクロ達人養成塾塾長ブログ-昨日の基礎編後の懇親会。総勢8名でした。
基礎編後の懇親会。総勢8名でした。
エクセルマクロ達人養成塾塾長ブログ-基礎編後の懇親会写真その2。
基礎編後の懇親会写真その2。
エクセルマクロ達人養成塾塾長ブログ-大阪、淀川にて
大阪、淀川にて

エクセルVBAを離れて、今日は、PHPとVBの比較の話。

複数の条件のいずれかに一致するものを選ぶ、というケース。

以下のプログラムは、セルB2に商品名が記載されていて、その商品名に応じて処理を分岐します。
VBでは、「複数の条件のいずれかに一致する場合は○○」といった条件分岐をするときは、以下のように書きます。

[1]では、商品名が「Hard X」か「ハードXR」だった場合、ハードコンタクトレンズ用の処理をします。

Sub SelectCaseTest()
    Dim st As String
    Select Case Range("B2").Value
        Case Is = "Hard X", "ハードXR" '[1]
            st = "ハードコンタクトレンズ用の処理をします"
        Case Is = "SOFT VIEW", "ソフトO2", "ボシュロムソフト", "メニソフト" '[2]
            st = "ソフトコンタクトレンズ用の処理をします"
        Case Is = "アイキュア", "ピュアクリーン" '[3]
            st = "ケア用品用の処理をします"
        Case Else
            st = "該当なし"
    End Select
    Range("C2").Value = st
End Sub

PHPでは、Select Case文に対応するものとしてSwith文があるのですが、「複数条件のいずれかに該当するときは○○」というときは、以下のように書きます。

   $v='SOFT VIEW';
switch($v) {
       case 'Hard X':
     case 'ハードXR':
          $st="ハードコンタクトレンズ用の処理をします";
         break;
     case 'SOFT VIEW':
      case 'ソフトO2':
      case 'ボシュロムソフト':
       case 'メニソフト':
          $st="ソフトコンタクトレンズ用の処理をします";
         break;
     case 'アイキュア':
      case 'ピュアクリーン':
        $st="ケア用品用の処理をします";
        break;
     default:
           $st = "該当なし";
          break;
 }
  echo $st;

個人的には、VBのスタイルのほうが、行数も少ないし文字数も少ないので好きです。
(PHPでも、そういう書き方できるのかな。どなたか、ご存じでしたら教えてください)

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド