A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HCL666 中级黑马   /  2017-3-8 18:28  /  859 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

$a = 'fdsaf1';
if((int)$a == $a)
    echo 1;
else
   echo 2;


我已开始以为会输出2,但是经过测试结果是1  但是我不知道为什么,求解释!

4 个回复

倒序浏览
回复 使用道具 举报
$a == $b     
如果类型转换后 $a 等于 $b ,结果是true。
还有就是:如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。
回复 使用道具 举报
php是弱语言类型,会自动类型转换,前面是int类型,后面的$a会自动转换为int类型,进行比对,所以是输出是1
回复 使用道具 举报
php是弱语言类型,会自动类型转换,前面是int类型,后面的$a会自动转换为int类型,进行比对,所以是输出是1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马