PHP 中的isset和empty

Empty(PHP 4,PHP 5)决定一个变量是否为空;bool empty(mixed $var)

 Empty()只能检测变量,因为其他任何东西都会造成语法上的错误。也就是说,像如下的写法是不正确的:empty(trim($name))

Empty()和(booleanvar是相对的,除了当变量没有设置时不生成警告。

返回值:当var有一个非空和非零值的时候返回false。如下的例子被认为是空的(empty):

“”(空字符串)0(作为integer或者作为string),NULLFalsearray()(空数组),var $var();(声明了但未赋值的变量)

<?php
$var 0;

// Evaluates to true because $var is empty
if (empty($var)) {
    echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
    echo '$var is set even though it is empty';
}
?> 

Issetphp 4,PHP 5)判断一个变量是设置和非NULL

  Bool isset(mixed $var [,mixed $var[,$...]])

如果一个变量已经用unset()处理过,他将不能被set。如果一个变量已经被设置为NULLIsset()将返回FALSE。要注意的是,NULL字节(/0)和PHP中的NULL常量是不相等的。当有多个参数时,只有所有的参数都设有值的情况下isset()才返回TRUE

   返回值:当var存在并且有值,除了NULLFALSE以外的值返回TRUE

Isset()仅用于变量,传递的其他参数都将造成语法错误,因为检查常量一般使用defined()函数。由于这是一种构造语言并不是一个函数,它不能调用可变函数。

<?php

$var '';

// This will evaluate to TRUE so the text will be printed.
if (isset($var)) {
    echo "This var is set so I will print.";
}

// In the next examples we'll use var_dump to output
// the return value of isset().

$a "test";
$b "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a$b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a$b)); // FALSE

$foo NULL;
var_dump(isset($foo));   // FALSE

?> 

<?php

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

var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE
var_dump(isset($a['hello']));           // FALSE

// The key 'hello' equals NULL so is considered unset
// If you want to check for NULL key values then try: 
var_dump(array_key_exists('hello'$a)); // TRUE

?> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值