ホームページ >php教程 >php手册 >php两个长数字或字符串的比较大小

php两个长数字或字符串的比较大小

WBOY
WBOYオリジナル
2016-06-06 19:52:021789ブラウズ

不管我比较的是两个数字或者字符串,明明不相同的两个竟然判断相等,这是怎么回事呢? if(10012014021504410429==10012014021504410429){ echo come; } 目测程序自动把字符串转为十进制数字了,php的int类型是32位的,多余的位数应该是被砍掉了,所以结果就是in

不管我比较的是两个数字或者字符串,明明不相同的两个竟然判断相等,这是怎么回事呢?


if("10012014021504410429"=="10012014021504410429"){

echo "come";

}


目测程序自动把字符串转为十进制数字了,php的int类型是32位的,多余的位数应该是被砍掉了,所以结果就是int(2147483647) == int(2147483647),当然就是true了,用===阻止php自动类型转换,结果就是no了,弱类型语言,对比的时候能用===就要用===,==不可靠,隐含的规则太多太复杂,你不会想去记住的


if("10012014021504410429"=="10012014021504410429"){

echo "come";

}


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