skillup

技術ブログ

JavaScript PHP

switch(true)イディオム

投稿日:

switch文は通常、文字や数字で分岐をさせることが多いですが、実は条件式を入れることも可能です。

私の場合、正規表現を動的に変えたいケースがあり、検索したところ似たケースがありました。

http://kuroeveryday.blogspot.jp/2015/07/Match-Switch.html

上記は正規表現を使っていますが、要はswitch(true)を使えば、caseにはif文に相当する処理を書くことができます。

PHPでもあるようで頻繁には使いませんが、まれに必要なケースがでてくるのかなあと思います。

その他参考リンク

PHPでのswitch(true)の使い方
http://blog.livedoor.jp/petaweb/archives/1481905.html

switch(true)に関して
http://qiita.com/t_uda/items/1969e09a970d71e4cfd6

どうやらあまり推奨される使い方ではないようですね・・。

-JavaScript, PHP

執筆者:


comment

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

関連記事

no image

クラスメソッドとインスタンスメソッド

以前staticメソッドを定義したときに、記法がインスタンスメソッドの呼び方でも呼べてしまうことがあったので、これを機にインスタンス・クラス×変数・メソッドちょっと調べてみました。 言葉で書くよりコー …

no image

PHPでのメール送信&カレントディレクトリ

PHPの小ネタ集です。 Contents1 メールでの改行2 PHPでのカレントディレクトリ メールでの改行 メールで改行する場合、いつも\nでOKだったんですが、本日これで送信すると送れないというバ …

no image

Laravel5.4インストール&ルーティング

来月からの仕事でLaravel5.4を使うことになったのでテストがてら自宅で勉強。 とりあえず下記リンクが参考になりました。 Laravel5.4でシンプルなCMSを作るチュートリアル 初めてのLar …

no image

cakePHPでのバッチスクリプト

cakeでバッチのプログラムを書く機会があったのでメモします。 まあ、バッチだったらcakeでなくてもいいのですが、やはりcakeのModelをいろいろと使えると便利ですので・・ まずファイルパスです …

no image

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-5df7809 …