时间:2021-07-01 10:21:17 帮助过:7人阅读
问题:
php文档中给出 socket_create() 创建失败return false
但为什么这句话是正确的
if (($resource = socket_create(....)) < 0 ){
throw new Exception("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
}
创建错误, $resource 应该是 false, 抛出了异常, 问题就是 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语句里