ホームページ > バックエンド開発 > PHPチュートリアル > 很简单的程序逻辑有关问题.关于数组判断的

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

WBOY
リリース: 2016-06-13 10:27:31
オリジナル
873 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート