很简单的程序逻辑问题.关于数组判断的.
比如$arr是一个数组.
我要判断是否为空,可以用:
if(!empty($arr)) {
或
if(count($arr) > 0) {
或
if($arr != '') {
我经常在别人的代码中看到这些,不知道他们有什么区别,为什么这么多用法.里面有学问吧?
希望大神讲讲经验.
还有就是要用foreach循环一个数组时,是不是往往要做个非空判断呢:
if(is_array($arr) && !empty($arr)) {
[解决办法]
is_array($arr)
这个就好了。
空array不会报错的。
[解决办法]
foreach之前不去检查数组是很危险的 会出警告错误。 一个字符串你去foreach 一个空值你去foreach 铁定的会出问题的。
至于判断的方法很多,if(!empty($arr)) {} if(count($arr) > 0) {} 没什么大区别吧。反正验证数组不为空。。。
[解决办法]
用foreach循环一个数组时,最好做 is_array 判断
至于非空判断就不必要了,空数组不会进入循环
如确认 $arr 为数组则
if(!empty($arr)) {
或
if(count($arr) > 0) {
都可以,而 if($arr != '') 不严密
[解决办法]
is_array() + count/empty才是王道.