首頁 >後端開發 >php教程 >很简单的程序逻辑有关问题.关于数组判断的

很简单的程序逻辑有关问题.关于数组判断的

WBOY
WBOY原創
2016-06-13 10:27:31881瀏覽

很简单的程序逻辑问题.关于数组判断的.
比如$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才是王道.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn