1
linauror 2015-09-30 13:54:54 +08:00
$a = array(); // 可定义为 null,空字符串,空数组等
if ($a) { echo 'success'; } 就一个 if ,够优雅吧 |
2
abelyao 2015-09-30 14:06:27 +08:00 via iPhone
@linauror
如果 $a = false 那么这里也不通过,但很多时候 false 是一个状态,并非无用值或空值。 |
3
soudesuka 2015-09-30 14:06:45 +08:00
isset($var) && $var
|
4
wesley 2015-09-30 14:16:28 +08:00
答案在这里:
if ( empty($var)) { } |
5
linauror 2015-09-30 14:17:23 +08:00
if ($a || $a === false || $a === 0)
好像没那么优雅了,考虑到 false 和 0 的话 |
6
flydogs 2015-09-30 14:20:22 +08:00
"有用"还是“没有用”,这个要看实际情况的
null ,空,空数组等等 有些情况也是有用的。 所以还是乖乖自己写个 function 在里面列举一下,其他地方调用吧。 |
7
realpg 2015-09-30 14:23:01 +08:00
empty
|
8
moro 2015-09-30 14:23:46 +08:00
empty +1
|
9
phithon 2015-09-30 14:26:45 +08:00
empty +2
|
10
linauror 2015-09-30 14:27:31 +08:00
empty 也并没有排除掉 0 和 false
|
11
iyaozhen 2015-09-30 14:38:40 +08:00
这个还是看需求吧。你要干什么?
|
12
zonghua 2015-09-30 15:09:15 +08:00
面向过程的 PHP 。。。
|
13
anubiskong 2015-09-30 15:36:36 +08:00
换语言^_^
|
14
php230 2015-09-30 16:27:10 +08:00
就一个 if ,够优雅吧
|
15
nanwangnongfu 2015-09-30 16:35:09 +08:00
在全局变量$GLOBALs 数组里查找,如果存在说明注册了
|
16
zjqzxc 2015-09-30 20:35:44 +08:00
php 作为最好的语言,当然一个 if($a)就搞定啦。
不过,考虑到 undefine 这种情况,建议独立检查 isset 。 话说,楼主变量使用前不声明么,干嘛要考虑未定义呢。。如果是函数返回值返回空、 0 、 false 、空数组都有可能,未定义就不太好了吧。 综上,变量先声明再使用 if 。 |
17
zhujunsan 2015-09-30 22:46:53 +08:00 via Android
http://php.net/manual/zh/types.comparisons.php
附上 PHP 真值表,楼主挑合适的用 |