掉进PHP中的坑-null,零,false,空字符串
程序员文章站
2024-02-19 10:35:16
...
掉进PHP中的坑--null,0,false,空字符串
然后自然就没有了这个条件,去更新数据库了,这个坑怎么填呢?就是不要使用empty(),使用isset():
这两个函数的区别:
今天使用公司中的框架进行开发时发现update数据的时候,那些空字符串并没有更新导数据库中,也就是说类似于0,空字符串,null这些出现以后并没有更新到数据库中:
仔细调试的时候发现,使用了empty()这个函数:
if(!empty($params['id'])) { $filters[] = array('id', '=', $params['id']); }
然后自然就没有了这个条件,去更新数据库了,这个坑怎么填呢?就是不要使用empty(),使用isset():
if(isset($params['config_id'])) { $filters[] = array('config_id', '=', $params['config_id']); }
这两个函数的区别:
光看名字已经能看出来了empty就是看这个变量是否为空,isset看这个变量是否设置:
用自己的话来说就是:
empty就是判断这个变量里面存储的东西是0,null,false,空字符串。
isset就是这个变量是否已经声明,它可以是0,null,false,空字符串。
empty的范围比较大,isset的范围比较小。
如果要判断的非常精确:建议使用 ‘===’,这样的话,php会去检测两个变量的类型和值是否完全像等。
因此emtpy,isset,===需要看使用场景合理使用。
相关文章
相关视频
推荐阅读
-
php中0,null,empty,空,false,字符串关系的详细介绍
-
掉进PHP中的坑-null,零,false,空字符串
-
php中0,null,empty,空,false,字符串关系的详细介绍
-
PHP中空字符串、零、null、empty和false之间的关系
-
php中0,空,null和false的区别【简记】
-
php中0,null,empty,空,false,字符串关系的详细介绍_PHP
-
PHP中空字符串、零、null、empty和false之间的关系
-
深入理解php中0,null,empty,空,false,字符串间的关系
-
php中0,null,empty,空,false,字符串关系的详细介绍
-
php中0与空 Null false的区别