php各种判断变量为空的函数的区别

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:30   1220   0

isset

$var = '' ;
// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset( $var )) {
print
"This var is set set so I will print." ;
}

// 在后边的例子中,我们将使用 var_dump 输出 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


这对于数组中的元素也同样有效:

$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

empty

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

$var = 0 ;

// 结果为 true,因为 $var 为空
if (empty( $var )) {
echo
'$var is either 0 or not set at all' ;
}

// 结果为 false,因为 $var 已设置
if (!isset( $var )) {
echo
'$var is not set at all' ;
}

array_key_exists ( mixed key, array search )

在给定的 key 存在于数组中时返回 TRUE key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。

<?php
$search_array
= array( 'first' => 1 , 'second' => 4 );
if (
array_key_exists ( 'first' , $search_array )) {
echo
"The 'first' element is in the array" ;
}
?>

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP