![]() | 1 vibbow 2014-02-18 16:48:29 +08:00 因为 "false" 是不为空的string |
![]() | 2 GordianZ 2014-02-18 16:54:19 +08:00 如果 "false" 算 false, 那 "False"/"FaLsE"/"假" 呢? |
![]() | 3 joyqi 2014-02-18 17:01:08 +08:00 这有啥好吐槽的 |
![]() | 4 yelite 2014-02-18 17:01:56 +08:00 ![]() 我猜是因为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 ![]() 因为 "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')); |