今天遇到群里一个人提的问题,isset无法区分未定义和null怎么办?
下面是代码。
<?php
$b = null;
$c = ‘‘;
$arr = get_defined_vars();
if(!isset($a) && !array_key_exists(‘a‘, $arr)){
echo ‘变量未定义‘;
}else if($a === null){
echo ‘变量已定义,但变量为空‘;
}else{
echo ‘变量已定义且变量不为空‘;
}
echo ‘<br />‘;
if(!isset($b) && !array_key_exists(‘b‘, $arr)){
echo ‘变量未定义‘;
}else if($b === null){
echo ‘变量已定义,但变量为空‘;
}else{
echo ‘变量已定义且变量不为空‘;
}
echo ‘<br />‘;
if(!isset($c) && !array_key_exists(‘c‘, $arr)){
echo ‘变量未定义‘;
}else if($c === null){
echo ‘变量已定义,但变量为空‘;
}else{
echo ‘变量已定义且变量不为空‘;
}
时间: 2024-10-26 15:07:21