1

こんにちは、今日、そのようなコードが表示されます

$i=0;
switch($i){
    case 'TEST': print "Test";break;
    case 0: print "0";break;
} 

通常の出力は のようです0が、印刷されTestます。それから私はそれを理解しようとし、ここで解決策を得ました。つまり、数値を文字列と比較すると、文字列は数値に変換され、比較は数値的に実行されます。OK では、出力を取得しても問題ありませんTest

しかし、それと同じように設定するとどうなりますか

$i=0;
switch($i){
    case ($a === 'Test'): print "Text";break;
    case ($a === 0): print "0";break;
}

それも結果を与えるTestので、ここで混乱しています。==代わりに使用すると===、空白が表示されます。ですから、それをはっきりさせてください。

4

2 に答える 2

0

$i を数値にする必要がありますか? それも文字列にしましょう...

$i="0";
switch($i){
    case 'Test': print "Text";break;
    case '0': print "0";break;
}

それは0を出力します...

于 2013-04-25T09:47:34.947 に答える