对于一个给定的变量,怎么判断这个变量不是 [NULL ,未定义,定义但没赋值,空字符串,空数组]?
我想了下,判断出来当然是可以的,但对这个世界上最好的语言来说太啰嗦了。
那么有没有优雅的方法呢?
我想了下,判断出来当然是可以的,但对这个世界上最好的语言来说太啰嗦了。
那么有没有优雅的方法呢?
|
linaurorSep 30, 2015
1
$a = array(); // 可定义为 null,空字符串,空数组等
if ($a) { echo 'success'; } 就一个 if ,够优雅吧 |
|
soudesukaSep 30, 2015
3
isset($var) && $var
|
|
wesleySep 30, 2015
4
答案在这里:
if ( empty($var)) { } |
|
linaurorSep 30, 2015
5
if ($a || $a === false || $a === 0)
好像没那么优雅了,考虑到 false 和 0 的话 |
|
flydogsSep 30, 2015
6
"有用"还是“没有用”,这个要看实际情况的
null ,空,空数组等等 有些情况也是有用的。 所以还是乖乖自己写个 function 在里面列举一下,其他地方调用吧。 |
|
realpgSep 30, 2015
7
empty
|
|
moroSep 30, 2015
8
empty +1
|
|
phithonSep 30, 2015
9
empty +2
|
|
linaurorSep 30, 2015
10
empty 也并没有排除掉 0 和 false
|
|
iyaozhenSep 30, 2015
11
这个还是看需求吧。你要干什么?
|
|
zonghuaSep 30, 2015
12
面向过程的 PHP 。。。
|
|
anubiskongSep 30, 2015
13
换语言^_^
|
|
php230Sep 30, 2015
14
就一个 if ,够优雅吧
|
|
nanwangnongfuSep 30, 2015
15
在全局变量$GLOBALs 数组里查找,如果存在说明注册了
|
|
zjqzxcSep 30, 2015
16
php 作为最好的语言,当然一个 if($a)就搞定啦。
不过,考虑到 undefine 这种情况,建议独立检查 isset 。 话说,楼主变量使用前不声明么,干嘛要考虑未定义呢。。如果是函数返回值返回空、 0 、 false 、空数组都有可能,未定义就不太好了吧。 综上,变量先声明再使用 if 。 |
|
zhujunsanSep 30, 2015 via Android
17
http://php.net/manual/zh/types.comparisons.php
附上 PHP 真值表,楼主挑合适的用 |