「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
isset
一、判断变量是否存在二、判断变量是否为NULL三、同时判断多个变量四、unset()释放变量五、判断数组元素是否存在六、判断对象属性是否存在七、三元表达式isset() 函数可以检测「变量是否存在」并非NULL。常用来判断变量是否被定义,以避免变量未定义而报错。
语法
bool isset( $var )
参数
$var :需要检测的变量
返回值:
isset() 返回一个布尔类型的值。
true :变量「已定义」 false:变量「未定义」或变量为 NULL 或 变量被 unset()
一、判断变量是否存在
变量「存在」返回 true ,变量「不存在」返回 false
实例:
<?php$var1 = 'hello world';var_dump(isset($var1));var_dump(isset($var2));
输出:
bool(true)bool(false)
二、判断变量是否为NULL
1)当变量赋值为 NULL 时, isset() 也会返回 false。
实例:
$var1 = NULL;var_dump(isset($var1));
输出:
bool(false)
2)这里的 NULL 是指PHP的「常量」 NULL ,也就是空的意思,所以会返回 false;字符串类型的变量‘NULL’等,则会返回 true 。
实例:
$var1 = 'null';$var2 = 'NULL';$var3 = '/0';$var4 = NULL;var_dump(isset($var1));var_dump(isset($var2));var_dump(isset($var3));var_dump(isset($var4));
输出:
bool(true)bool(true)bool(true)bool(false)
三、同时判断多个变量
判断「多个变量」时,使用逗号,
分隔。
从左往右逐个判断,只要有一个变量不存在或者为NULL或者被 unset() ,就会立刻停止,并会返回 false。
实例:
$var1 = 'hello world';var_dump(isset($var1));var_dump(isset($var1,$var2));
输出:
bool(true)bool(false)
四、unset()释放变量
unset() 函数「释放变量」后, isset() 也会返回 false。
实例:
$var1 = 'hello world';var_dump(isset($var1));unset($var1);var_dump(isset($var1));
输出:
bool(true)bool(false)
五、判断数组元素是否存在
实例:
$array1 = array('a','b');var_dump(isset($array1[0]));
输出:
bool(true)
六、判断对象属性是否存在
isset() 可以判断对象的「公有成员」,但无法判断「私有成员」;因为私有成员外部不可见,也没办法调用。
实例:
class Class1{public $var1 = 'hello public';private $var2 = 'hello private';}$class1 = new Class1();var_dump(isset($class1->var1));var_dump(isset($class1->var2));
输出:
bool(true)bool(false)
七、三元表达式
扩展一个 isset() 配合三元表达式的使用方式
$result = isset($_GET['value']) ? $_GET['value'] : '';
这行代码的意思是:如果接收到参数 value 的值了,就赋值给 $result,否则就给 $result 赋值为空 ‘’。