PHPでの文字列と整数の比較

angryTom
angryTom転載
2019-10-15 11:31:082631ブラウズ

今日、PHPでループを扱う際に比較演算がありましたが、自分では結果が予測できなかったので追跡してみたところ、文字列と整数を比較する際に文字列は に変換され、整数が比較されることが分かりました。 。 Java や C などの厳密に型指定された言語では、文字列を変換してから比較するため、これは問題になりませんが、PHP などの弱い型指定の言語では、直接比較できる場合に問題が発生します。作った。

$a = "梦回故里";
if($a==0){
       echo "等于";
}else{
    echo "不等于";
}

たとえば、次のコードでは、最初は「等しくない」が出力されるだろうと考えました。理解によれば、$a は true であるはずであり、1 であるはずなので、いずれにせよ等しくありません。しかし、結果は等しいです。 $a は整数に変換されるので先頭文字から変換され、整数でない場合は 0 に変換されます。

例:

$a = "梦回故里1";
if(0==$a){
       echo "等于";
}else{
    echo "不等于";
}

これは「等しくない」と出力されます。夢の単語は整数ではないため、0 に変換されます。

$a = "1梦回故里";
if(0==$a){
       echo "等于";
}else{
    echo "不等于";
}

これは「等しくない」と出力されます。最初の単語が 1 であるため、次のようになります。 1に変換して比較するので等しくありません。

PHP 言語はこのような言語で、十分な自由度があり、習得は簡単ですが、しっかりした基礎を築き、細部に注意を払う必要があります。詳細が違いを生みます。

PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がPHPでの文字列と整数の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はzyan.ccで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。