ホームページ  >  記事  >  バックエンド開発  >  phpの文字列判定についての質問です。

phpの文字列判定についての質問です。

WBOY
WBOYオリジナル
2016-06-23 13:38:44908ブラウズ

次のように: true を返すのはなぜですか?
if(0 == 'name'){
echo true;
}else{
echo false;

0 を他の数値に置き換えると false が返されます
if(1= = 'name'){
echo true;
}else{
echo false;

ディスカッションへの返信 (解決策)
これは、Php の解析メカニズムの問題です

if(1 == '1name ' ){

echo true;

}else{
echo false; }

これは true

のようになります
文字列と数値を比較する場合、文字列は数値に変換されます (0 に変換されます)。 1 と等しくありません

数値と文字列を比較する場合、まず文字列を数値に変換してから比較します。文字列を数値に変換できない場合は、変換結果は 0 になります


文字列は比較されます。数値あり 比較する場合、文字列を数値に変換して比較します。 「name」は数値に変換すると0なので等しいです。

文字列やリソースを数値と比較する場合は、文字列やリソースを数値に変換し、通常の数学に従って比較します

PHP は比較された型を自動的に変換します。

前に整数 0 があり、その後ろに「name」という文字列があります。PHP はその文字列を数値に変換しますが、name は数値に変換できないため、0 0=0 のみを返すことができます。

0 と「123」を比較している場合、それらは等しくありません。

リーリー

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