Heim >Backend-Entwicklung >PHP-Tutorial >很简单的程序逻辑有关问题.关于数组判断的

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

WBOY
WBOYOriginal
2016-06-13 10:27:31873Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn