isset
(PHP 4, PHP 5, PHP 7, PHP 8)
isset — 检测变量
- 是否已声明
- 并且其值不为 null
说明
isset(mixed $var, mixed ...$vars): bool
-
判断一个变量是否已设置, 即变量已被声明,且其值不为 null。
-
如果一个变量已经被使用 unset() 释放,它将不再被认为已设置。
-
若使用 isset() 测试一个被赋值为 null 的变量,将返回 false。同时要注意的是 null 字符(“\0”)并不等同于 PHP 的 null 常量。
如果一次传入多个参数,那么 isset() 只有在全部参数都已被设置时返回 true。 计算过程从左至右,中途遇到未设置的变量时就会立即停止。
返回值
如果 var 存在并且值不是 null 则返回 true,否则返回 false。
<?php
var_dump(isset($var));
$var = NULL;
var_dump(isset($var));
$var = 0;
var_dump(isset($var));
$var = '';
var_dump(isset($var));
$var = '0';
var_dump(isset($var));
$var = [];
var_dump(isset($var));
$var = [1, 2, 3, NULL, 'a'=>['b',NULL], 'c'=>NULL,'d'=>[NULL]];
var_dump(isset($var[0]));
var_dump(isset($var[3]));
var_dump(isset($var['a']));
var_dump(isset($var['a'][0]));
var_dump(isset($var['a'][1]));
var_dump(isset($var['c']));
var_dump(isset($var['d']));
输出结果:
PS D:\code\php> php isset.php
D:\code\php\isset.php:2:
bool(false)
D:\code\php\isset.php:4:
bool(false)
D:\code\php\isset.php:6:
bool(true)
D:\code\php\isset.php:8:
bool(true)
D:\code\php\isset.php:10:
bool(true)
D:\code\php\isset.php:12:
bool(true)
D:\code\php\isset.php:14:
bool(true)
D:\code\php\isset.php:15:
bool(false)
D:\code\php\isset.php:16:
bool(true)
D:\code\php\isset.php:17:
bool(true)
D:\code\php\isset.php:18:
bool(false)
D:\code\php\isset.php:19:
bool(false)
D:\code\php\isset.php:20:
bool(true)
PS D:\code\php>