4.12-变量的类型,变量的判断,变量的作用域!
代码如下:
<?php
echo "变量类型:数值型,字符串型,布尔型,数组型,对象型,资源型";
$o = (int)123.456; //将变量类型临时改变为整数型,原型类型不变!
echo gettype($o); //查看变量的类型。
echo $o;
echo "<hr>";
echo "今天学习了三个判断函数,分别是:is_null(),empty(),isset();这三种方法返回的值只有两个,true或flase";
echo "<hr>";
echo "is_null判断变量是否为null,返回true的条件有:1.变量声明,未赋值。2。变量未声明。3.值为NULL.";
$a;
$b=null;
echo "<hr>";
@var_dump(is_null($a)); //声明的变量$a,未赋值。 输出是true.
var_dump(is_null($b)); //变量已经声明,但值为null.输出是true.
@var_dump(is_null($c)); //未声明$c变量,$c不存在,所以输出是true.
echo "<hr>";
echo "empty()用法是判断变量是否为空。满足的条件有:1.值为空,空字符串或数组。2.值为null.3.值为0,false";
$aa = 0;
$aaa = '0';
$bb = null;
$cc = '';
$ccc = [];
$dd = false;
echo "<hr>"; //如果变量不存在,也返回true;
var_dump(empty($aa)); //值为0,返回true;
var_dump(empty($aaa)); //值为字符串0,是true;
var_dump(empty($bb)); //值为null,返回true; null一定是空,但空不一定是null;
var_dump(empty($cc)); //值为空字符串,返回true;
var_dump(empty($ccc)); //值为空数组。返回true;
var_dump(empty($dd)); //值为flase,因为false是空,所以反回true;
$ee = "我喜欢php";
var_dump(empty($ee)); //因为$ee值不为空,所以返回false;
echo "<hr>";
echo "isset()用法是判断是否有该变量或变量的值!";
$a1 = '';
$a2 = null;
$a3 = '我在学习php';
echo "<hr>";
var_dump(isset($a1)); //变量存在,值为空字符串,返回true;
var_dump(isset($a3)); //变量值存在,返回true;
var_dump(isset($a2)); //变量值为null,返回false;
var_dump(isset($a4)); //变量不存在,返回false;
echo "<hr>";
var_dump(isset($a2)? true:false); //判断$a2是否有值或变量,如果有,返回true,如果没有,返回false;
var_dump(isset($a3)? true:false); //判断$a3是否有值或变量,如果有,返回true,如果没有,返回false;
echo "<hr>";
echo "变量在最终不知道会保存什么值时,建议用null!";
echo "<hr>";
echo "变量的作用域:1.全局变量 2.局部变量 3.静态变量 4.超全局变量(系统预设的,无法自定义)";
echo "全局变量,可作用于函数内外部,而局部变量只能作用于函数内部,";
echo "<hr>";
$ii = "我是中国人"; //声明一个全局变量,函数内外部都可以使用。
function a(){
$i = 100; //声明一个局部变量,仅函数内部可以使用。
return "$i".$GLOBALS['ii'];
}
echo a();
echo "<hr>";
function aa(){
static $u = 20; //变量为静态变量是,只会在函数中被赋值一次。则下面的自增测试有效,如果不是静态变量,那么每次执行完,变量值会被初始化为:20
return '测试自增'.$u.'第'.$u++.'次';
}
echo aa();
echo aa();
echo aa();
?>点击 "运行实例" 按钮查看在线实例
运行效果图:

手写作业如下:




Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号