$a1;
$a2 = '';
$a3 = 'null';
$a4 =1;
// is_null判断变量是否为null
@var_dump(is_null($a) ?true :false);
// 未声名变量判定为true
@var_dump (is_null($a1) ?true :false);
// 已经声明但为赋值变量判定为true
var_dump (is_null($a2) ?true :false);
// 变量为空判定为true
var_dump (is_null($a3) ?true :false);
// 变量为null判断正确
var_dump (is_null($a4) ?true :false);
// 变量有值判断错误
echo "
";
// empty()判断变量是否为空
var_dump (empty($a) ?true :false);
// 为声明变量判断为空
var_dump (empty($a1) ?true :false);
// 以声明为赋值变量判断为空
var_dump (empty($a2) ?true :false);
// 未赋值判断为空
var_dump (empty($a3) ?true :false);
// 赋值为null判断不为空,null是空,空不是null
var_dump (empty($a4) ?true :false);
// 已赋值判断不为空
echo "
";
// isset()是null的相反操作
var_dump (isset($a) ?true :false);
// 未声名变量判定为错误
var_dump (isset($a1) ?true :false);
// 声明为赋值判断错误
var_dump (isset($a2) ?true :false);
// 赋值为空判断正确
var_dump (isset($a3) ?true :false);
// 赋值为null判断正确
var_dump (isset($a4) ?true :false);
// 赋值变量,判断正确
echo "
";
echo "
变量作用域
";echo "
全局变量和局部变量
";// $site = '三分王者';
// 全局变量
$GLOBALS['site']='三分王者';
// 全局变量替代语法
function my()
{
$name = 'curry';
// 局部变量
// global $site;
// 声明全局变量
// return '名字'.$name. '称号'.$site;
return '名字'.$name. '称号'.$GLOBALS['site'];
}
echo my();
echo "
静态变量
";function one()
{
static $number = 1;
// 将变量声明为静态变量,在输出时仅执行一次
return '第'.$number.'次'.$number++.'
';
}
echo '引用$number值'.one().'
';
echo '引用$number值'.one().'
';
echo '引用$number值'.one().'
';
echo '引用$number值'.one().'
';
效果图:
手抄图