1
vibbow 2014-02-18 16:48:29 +08:00
因为 "false" 是不为空的string
|
2
GordianZ MOD 如果 "false" 算 false, 那 "False"/"FaLsE"/"假" 呢?
|
3
joyqi 2014-02-18 17:01:08 +08:00
这有啥好吐槽的
|
4
yelite 2014-02-18 17:01:56 +08:00 1
我猜是因为url参数和post的表单解析出来直接是string,为了方便php就有了这种设计
|
5
mantianyu OP @GordianZ 我就是这个意思, 如果 "false", "False", "FALSE", "NO", "OFF" 都不算 false, 为什么 "0" 是例外?
|
8
hanf 2014-02-18 17:08:06 +08:00
php蛋疼又不是两三天了
|
9
infong 2014-02-18 17:16:23 +08:00 1
因为 "0" == 0 而且 0 == false
所以 "0" == false |
10
liruqi 2014-02-18 17:18:36 +08:00
你也可以坚持用 === 嘛。
|
11
liuyao729 2014-02-18 17:39:49 +08:00
字符串除了 0 就没有为假的了
|
12
likexian 2014-02-18 17:44:45 +08:00
如果非要那么纠结,就忘记php有==,只用===
|
13
jakwings 2014-02-18 23:35:59 +08:00
@infong 不应该用 == 来作传递性说明的…… == 比较比直接转化为布尔值麻烦多了。
var_dump("0.0" == 0.0); //=> bool(true) var_dump((bool)"0.0"); //=> bool(true) var_dump((bool)0.0); //=> bool(false) 我觉得 yelite 说得比较有道理。 |
15
nina 2014-02-19 15:50:52 +08:00
技术讨论帖 发个招聘小纸条 小交易招资深php开发一名,至少3年实打实的项目经验。PHP高级开发: 15-20k
岗位职责: 网站服务端开发,包括后端逻辑以及数据库,缓存等方面。 岗位要求: 1、三年以上PHP开发经验,有高并发访问的 Web 应用开发经验; 2、具备大型开发项目的规划、方案设计以及重构经验的经验; 3、对 PHP技术及整个解决方案有深刻的理解及熟练的应用,并且精通架构和设计模式,并在此基础上设计产品框架; 4、精通网络和服务器优化、缓存、分布式存储技术,拥有异构系统开发部署和优化经验; 5、精通数据库如 Mysql 等的开发 ,熟悉linux shell 脚本的编写,对数据库优化有较深见解。对 memcached 及 NOSql、REDIS 有一定了解; 6,精通LNMP或LAMP架构。 7、对计算机系统、网络和安全、应用系统架构等有全面的认识,并有实践基础; qq281079797 |
16
lygmqkl 2014-02-19 19:33:12 +08:00
这个应该算自己偷懒的表现,如果你使用的是你自己生成的变量,那么不会有这个疑惑,如果是input进来的自然要做变脸转换,否则php代码的质量如何保证?
|
17
picasso250 2014-02-20 09:40:47 +08:00
?is_foo=0
?is_foo=1 var_dump($_GET('is_foo')); var_dump((bool)$_GET('is_foo')); |