ホームページ >バックエンド開発 >PHPチュートリアル >スイッチにはこのように書かれていませんか? ssid はどこにありますか?

スイッチにはこのように書かれていませんか? ssid はどこにありますか?

WBOY
WBOYオリジナル
2016-08-18 09:15:472779ブラウズ

この質問は別のグループで見ました
SSID はどこに行きましたか?
スイッチにはこのように書かれていませんか? ssid はどこにありますか?

スイッチにはこのように書かれていませんか? ssid はどこにありますか?

返信内容:

この質問は別のグループで見ました
SSID はどこに行きましたか?
スイッチにはこのように書かれていませんか? ssid はどこにありますか?

スイッチにはこのように書かれていませんか? ssid はどこにありますか?

次のコードに示すように、いくつかの場所で出力変数をエコーできます。

リーリー

結果では、echo $filedStr;このステップでは出力がないことがわかります。

スイッチにはこのように書かれていませんか? ssid はどこにありますか?

この時点で、なぜこれが起こるのかを知るために公式の PHP ドキュメントを読む必要があります。

PHPの公式ドキュメントでは、なんと、これは英語ですが、もちろん中国語もあります。その中には次のような文があります:

1 つの switch ステートメントに値のタイプが混在している場合は、問題が発生する可能性があるので注意してください

もちろん、以下のプランもあります:

リーリー

PHP は動的型変換を使用することが述べられていますが、これはこのブログで説明していることです。

動的言語の変数の型は格納された変数に応じて変化します。つまり、変数の型は特定の環境に応じて変化します。

$value が 'ssid' の場合、case 0 を実行する場合は整数に変換して比較する必要があります。変換後は等しいため、次の 'ssid' は一致しません。

あなたのswitch匹配里, case是整数, 这会导致在匹配的时候把字符串强制转换为integer, ssid转为int为0, 是不会匹配到case 'ssid'のせいで

SSIDが絶対に一致しません

皆さんご回答ありがとうございます、分かりました

リーリー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。