代潇瑞博客

php开发中请少用empty()函数

| 点击次数:13478

大家都知道php是一种弱类型语言,所以平时开发的过程中一定要严谨,不要轻易地埋下一些很低级的坑。其中就要慎用empty()函数,大家先看看下面这些例子:


<?php

$zeroInt = 0;

var_dump(empty($zeroInt)); //bool(true)

$zeroIntStr = "0";

var_dump(empty($zeroIntStr)); //bool(true)

$zeroFloat = 0.0;

var_dump(empty($zeroFloat)); //bool(true)

$zeroFloatStr = "0.0";

var_dump(empty($zeroFloatStr)); //bool(false) 容易出错场景:比如纬度字段为浮点类型,那么php用sql查出来不转换就是一个字符串类型,如果用empty去判断就非常容易出问题了。

$spaceStr = " "; //空格

var_dump(empty($spaceStr)); //bool(false) 请记住,空格并不为empty

$emptyArr = array();

var_dump(empty($emptyArr)); //bool(true)

$emptyStr = "";

var_dump(empty($emptyStr)); //bool(true)

$null = null;

var_dump(empty($null)); //bool(true)

$emptyArr2 = array(

array()

);

var_dump(empty($emptyArr2)); //bool(false) 这个也是容易出错的。

var_dump(empty($undefine)); //bool(true)

?>


php为了更方便和灵活,却牺牲了严谨度,我觉得这是php尴尬的一个地方,所以作为一个phper,一定要从自身做起,严格要求自己,让自己写的程序更稳健。

【相关推荐】

触屏版 | 电脑版

Copyright © 2013 代潇瑞博客手机版

QQ: 446673330

粤ICP备13071969号-1