Rumah > pembangunan bahagian belakang > tutorial php > 掉进PHP中的坑-null,零,false,空字符串

掉进PHP中的坑-null,零,false,空字符串

WBOY
Lepaskan: 2016-06-13 11:51:38
asal
879 orang telah melayarinya

掉进PHP中的坑--null,0,false,空字符串

今天使用公司中的框架进行开发时发现update数据的时候,那些空字符串并没有更新导数据库中,也就是说类似于0,空字符串,null这些出现以后并没有更新到数据库中:

仔细调试的时候发现,使用了empty()这个函数:

        if(!empty($params['id'])) {            $filters[] = array('id', '=', $params['id']);        }
Salin selepas log masuk

然后自然就没有了这个条件,去更新数据库了,这个坑怎么填呢?就是不要使用empty(),使用isset():

        if(isset($params['config_id'])) {            $filters[] = array('config_id', '=', $params['config_id']);        }
Salin selepas log masuk

这两个函数的区别:

光看名字已经能看出来了empty就是看这个变量是否为空,isset看这个变量是否设置:

用自己的话来说就是:

empty就是判断这个变量里面存储的东西是0,null,false,空字符串。

isset就是这个变量是否已经声明,它可以是0,null,false,空字符串。

empty的范围比较大,isset的范围比较小。


如果要判断的非常精确:建议使用 ‘===’,这样的话,php会去检测两个变量的类型和值是否完全像等。


因此emtpy,isset,===需要看使用场景合理使用。



Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan