ホームページ >バックエンド開発 >PHPチュートリアル >スイッチにはこのように書かれていませんか? ssid はどこにありますか?
この質問は別のグループで見ました
SSID はどこに行きましたか?
この質問は別のグループで見ました
SSID はどこに行きましたか?
次のコードに示すように、いくつかの場所で出力変数をエコーできます。
リーリー結果では、echo $filedStr;
このステップでは出力がないことがわかります。
この時点で、なぜこれが起こるのかを知るために公式の PHP ドキュメントを読む必要があります。
PHPの公式ドキュメントでは、なんと、これは英語ですが、もちろん中国語もあります。その中には次のような文があります:
1 つの switch ステートメントに値のタイプが混在している場合は、問題が発生する可能性があるので注意してください
もちろん、以下のプランもあります:
リーリーPHP は動的型変換を使用することが述べられていますが、これはこのブログで説明していることです。
動的言語の変数の型は格納された変数に応じて変化します。つまり、変数の型は特定の環境に応じて変化します。
$value が 'ssid' の場合、case 0 を実行する場合は整数に変換して比較する必要があります。変換後は等しいため、次の 'ssid' は一致しません。
switch
匹配里, case
是整数, 这会导致在匹配的时候把字符串
强制转换为integer
, ssid
转为int
为0, 是不会匹配到case 'ssid'
のせいで
SSIDが絶対に一致しません
皆さんご回答ありがとうございます、分かりました
リーリー