- ベストアンサー
phpのSwitch文のswitchってそもそもど
phpのSwitch文のswitchってそもそもどういう意味なんでしょうか? ifはわかります もしもこういう場合は というので switchってなんですか?電源を押すみたいな意味ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
他の言語だと「Select Case」と表現されることもあります。 aの値が1の場合の処理、2の場合の処理と言うように条件分岐という意味ではifとおなじですが、複雑なif文よりソースを読むのが楽です。 もちろん、if文が単純明快ならSwitchよりifを使った方が効率的です。 ifだとandやorを使って複数の条件を指定でき、場合によっては論理演算も絡ませたり出来ます。それはそれで便利なのですが、作成者以外の人が見た場合理解するまで時間がかかることもあったり、条件式を間違って理解することがあります。それはバグの元であり基幹業務システムで誤解したまま作り込むと致命的な障害にも繋がります。 ※致命的な例として、最近ニュースにもなった銀行の送金ができない事故とか・・・ だから、他人が見ても誤解せず短時間で理解しやすいコーディンゴを心がけるときにはCase文を使用することもあります。 で、SwitchはON/OFFの二種択一のスイッチと言うよりも、昔の白黒テレビのチャンネル切り替えスイッチのような感覚が近いのではないでしょうか? 回転式の切り替えスイッチだけでなく、ボタンが複数並んでいてONにのるのは一つだけという切り替えスイッチもあります。 最近は見る機会がずいぶん減りましたが、まだまだ使われているところはあります。
その他の回答 (2)
- dell_OK
- ベストアンサー率13% (770/5733)
古来からいろんな言語で使われている「switch」なので「そもそも」の意味はわかりませんが、私は何となく線路のスイッチを想像しています。 私はオンとオフの切り替えのような意味合いで使う変数もスイッチと呼んでいますが、複数の分岐があるような場合は、何となく線路です。 私が鉄道マニアだと言うわけではなく、ただ何となくです。 ウィキペディアによると「分岐器」として掲載されていて、英語では「railroad switch」と書かれているのですが、私にはこんなイメージです。 あるポイントから別々の方向へ行く、と言う意味ですかね。 https://ja.wikipedia.org/wiki/%E5%88%86%E5%B2%90%E5%99%A8
お礼
ありがとうございます
- GENESIS
- ベストアンサー率42% (1201/2809)
switch 切り替えると言った意味合いで取れば良いと思います。 発生した値により処理を切り替えるために使います。 phpに限らずC言語でも使います(記述は若干違いますが)。if分を打列するよりはスマートな使い方となり、改修もしやすいです。
お礼
ありがとうございます
お礼
ありがとうございます