ホームページ > php教程 > php手册 > php中empty和isset用法区别详解

php中empty和isset用法区别详解

WBOY
リリース: 2016-05-25 16:43:34
オリジナル
1181 人が閲覧しました

在php程序开中发很多朋友把握isset与empty搞混或搞不清楚什么时候用isset,什么时候用empty函数,下面我来介绍两者的区别.

isset — 检测变量是否设置

PHP isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE.

例子代码如下:

<?php 
    $var = 1; 
    if(isset($var)){ 
        echo &#39;变量 $var 已经被设置&#39;; 
    } else { 
        echo &#39;变量 $var 还未被设置&#39;; 
    } 
     
    //运行该例子输出: 
    //变量 $var 已经被设置
?>
ログイン後にコピー

数组中的元素也同样有效,代码如下:

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test') ); // TRUE

var_dump( isset ($a['foo') ); // FALSE

var_dump( isset ($a['hello') ); // FALSE

// 'hello' 等于 NULL,所以被认为是未赋值的。

// 如果想检测 NULL 键值,可以试试下边的方法。

var_dump( array_key_exists('hello', $a) ); // TRUE

注意:

•isset() 只能用于检测变量,传递任何其它参数都将造成解析错误。

•isset() 是一个语言结构而非函数,因此它无法被变量函数调用。

empty — 检查一个变量是否为空

如果 变量 是非空或非零的值,则 empty() 返回 false

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词,代码如下:

<?php 
    $var = 0; 
     
    // 结果为 true,因为 $var 为空 
    if (emptyempty($var)) {   
        echo &#39;$var is either 0 or not set at all&#39;; 
    } 
     
    // 结果为 false,因为 $var 已设置 
    if (!isset($var)) {  
        echo &#39;$var is not set at all&#39;; 
    } 
?>
ログイン後にコピー

实例对比,代码如下:

<?php
$is_var = &#39;&#39;; 
 
if(isset($is_var)) { 
    echo "变量存在!<br />"; 
} else { 
    echo "变量不存在!<br />"; 
} 
 
if(emptyempty($is_var)) { 
    echo "变量为空!<br />"; 
} else { 
    echo "变量不为空!<br />"; 
} 
?>
ログイン後にコピー


永久地址:

转载随意~请带上教程地址吧^^

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