我见到PHP的神了,,,, if("abc" == 0) echo 'ghost!?';if("abc" == "0") echo 'really a ghost!!!';如要严格判定,应该用=== 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 虽然他们的类型是不相同,但是内容相差也巨大啊,一个是0,一个是list23412412423sdfasdf,他们是怎么可能相等的??? 因为类型不一致 首先会把字符串转成int类型 (int)list23412412423sdfasdf 的值就为0 所以相等建议你用=== 既判断值等还判断类型一致 看手册 : 附录 O. PHP 类型比较表关于松散比较(==)和严格比较(===)的两个表格. 那么为什么int型不转换成字符串呢? 运算的优先级和结合顺序在==是从左到右,所以string转int <?phpif(0 == "abc") echo 'ghost!?';if("abc" == "0") echo 'really a ghost!!!';?><?phpif( "abc"==0) echo 'ghost!?';if("abc" == "0") echo 'really a ghost!!!';?>测试了是一样的.所以解释的好像不对. 不神,请楼主认真阅读 PHP手册 数字类型(整形或者浮点型)和字符串比较:字符串转换成数字类型进行比较。两个字符串比较:1,如果两个字符串都是数字字符串,那么将会把这两个字符串转换成数字类型进行比较;2,其他的情况按照字符串的ascii码进行比较; 各位请再仔细的看一下我的程序好吗?.....$t="list23412412423sdfasdf"; //如果$t和$this->thestyle相等if ($t == $this->thestyle){ //输出$this->thestyle var_dump($this->thestyle); //用:进行隔离 echo " : "; //输出$t var_dump($t); exit(); ...... 输出结果是: int(0) : string(22) "list23412412423sdfasdf" 大家看结果:$this->thestyle的输出结果是整型 0而$t的输出结果是字符串 list23412412423sdfasdf我当然知道PHP的严格类型判断(===),但是看我的IF语句,我判断的是 “整型 0” 是否和 “字符串list23412412423sdfasdf”是否相等,如果相等,那么才输出相关的内容。PHP在这里认为“整型 0” 和 “字符串list23412412423sdfasdf” 是相等的,很显然这个判断是个错的。 SORRY我明白了,马上结贴 关于PHP文件及编码的问题 求助如何使用下拉框和单选框提取数据库中的值并可以二次修改 验证码的问题 北京招聘!!!PHP编码,设计 php如何重新排列数据和查补缺漏? 急招php程序员【深圳】 200分求助(PHP如何防止用户重复登录????) 求助关于mySql查询的问题 高分 求一个去掉字符串中某个子字符串的方法! 关于PHP使用LDAP的问题! 像这种网站做一个要多少钱? 请问PHP如何列出一个mssql数据库中的表名
建议你用=== 既判断值等还判断类型一致
在==是从左到右,所以string转int
if(0 == "abc") echo 'ghost!?';
if("abc" == "0") echo 'really a ghost!!!';?><?php
if( "abc"==0) echo 'ghost!?';
if("abc" == "0") echo 'really a ghost!!!';?>
测试了是一样的.
所以解释的好像不对.
两个字符串比较:
1,如果两个字符串都是数字字符串,那么将会把这两个字符串转换成数字类型进行比较;
2,其他的情况按照字符串的ascii码进行比较;
.....
$t="list23412412423sdfasdf";
//如果$t和$this->thestyle相等
if ($t == $this->thestyle){
//输出$this->thestyle
var_dump($this->thestyle);
//用:进行隔离
echo " : ";
//输出$t
var_dump($t);
exit();
......
输出结果是:
int(0) : string(22) "list23412412423sdfasdf"
大家看结果:$this->thestyle的输出结果是整型 0
而$t的输出结果是字符串 list23412412423sdfasdf
我当然知道PHP的严格类型判断(===),但是看我的IF语句,我判断的是 “整型 0” 是否和 “字符串list23412412423sdfasdf”是否相等,如果相等,那么才输出相关的内容。PHP在这里认为“整型 0” 和 “字符串list23412412423sdfasdf” 是相等的,很显然这个判断是个错的。
我明白了,马上结贴