首页 > php false 和 0的关系

php false 和 0的关系

false == 0, false !== 0,

问题:

php文档中给出 socket_create() 创建失败return false

但为什么这句话是正确的

if (($resource = socket_create(....)) < 0 ){
    throw new Exception("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
}

创建错误, $resource 应该是 false, 抛出了异常, 问题就是 false<0成立了 为什么?

我是小白, 自己想不明白就想问一下。


0和false不全等,很明显0是int类型,false是布尔类型
0 == false //这个条件成立,值相等
0 === false //这个不成立,类型和值都相等,才成立


这样写法应该是有问题的:随便测试了一个

if (($resource = socket_create('1', SOCK_STREAM, SOL_TCP)) < 0) {
    throw new Exception("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
}

发现没进if语句里

【热门文章】
【热门文章】