2012年8月26日日曜日

[小ネタ]switch文、文字型変数のコーテーション(PHP)

■PHPの基礎構文
スーパーグローバル変数のGETと基本構文であるswitch分の組み合わせ
※nameという変数のなかの値がそれぞれa,b,cを持つとする。
switch($_GET['name']){
case a :
 $result = "名前はa";
break;
case b :
 $result = '名前はb';
break;
case c :
 $result = "名前はc";
break;
}
echo ($result);

■PHPのストリングについて
Stringの場合、PHPは'(シングルコーテーション)もしくは、"(ダブルコーテーション)で囲む必要がある。

ここでダブルコーテーションとシングルコーテーションの重要な違いについて説明します。
ダブルコーテションで囲まれた文字列の中に含まれる変数は変数として動作します。
例)
$string_x = "文字列型変数X";
$string_a = 'この文字列はstring_xを表現できません。';
$string_b = "この文字列はstring_xを表現できます。";

echo($string_a);
echo($string_b);
するとそれぞれの結果は
この文字列はstring_xを表現できません。
この文字列は文字列型変数Xを表現できます。
となる。

■switch文にbreakが記載されていない場合

switch文ではcaseを記述することで入力値に対応した処理を実行する事が可能ですが、
ブロックの処理を終えた後は明示的にbreak分でswitch文の処理自体を抜ける必要があります。

break文で処理を抜け出さない場合はどうなるでしょう?
答えは次のブロックの処理も実行してしまうです。

caseで一番上のブロックを処理した場合は、順々に下の処理まで実行し、結局すべてのcaseの処理を実行する事になります。

0 件のコメント:

コメントを投稿