关于php的函数count()的特性


下面这段代码,大家说会返回什么?


$a = false;
var_dump(count($a));



好吧,在我的本机,php版本如下:


andy@AndyMacBookPro:/private/etc$ php -v
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
andy@AndyMacBookPro:/private/etc$



上面那段代码的返回值为 int 1




所以判断数组的时候,如果只是一个count()来判断的话,很有可能会判断错误,最好是这样写:


$a = false;
var_dump( is_array($a) && count($a) );


这样子就会对数组判断正确,返回false.


你可能感兴趣的:(PHP)