php
での文字列判定に関する質問は次のとおりです。
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 の比較は等しくありません
-----解決策のアイデア-------- - ----------
文字列と数値を比較する場合、文字列を数値に変換して比較します。 「name」は数値に変換すると0なので等しいです。
------ソリューションのアイデア----------------------
文字列とリソースが数値のような場合比較、文字列とリソースを数値に変換し、通常の数学に従って比較します
------解決策のアイデア----- - -
php は、比較される型を自動的に変換します。
前に整数 0 があり、その後ろに 'name' という文字列があります。PHP はその文字列を数値に変換しますが、name は数値に変換できないため、0 0=0 のみを返すことができます。
0 と '123' を比較すると、それらは等しくありません。
<br />var_dump((int)'123');<br />var_dump((int)'name');<br />