Correction status:Uncorrected
Teacher's comments:
以下是变量的作用域 代码演示,第一个函数体内有两种情况
is_null(),empty(),isset()三个函数没有演示成功,一直报错,时间有限,晚上好好研究
<meta charset="utf-8"> <?php echo '<hr color="red">'; $wo='我'; $GLOBALS['ni']='看到你'; //在全局变量数组 $GLOBALS[] function hi() { GLOBAL $wo; $money='给你钱'; //局部变量 return $GLOBALS['ni'].$money; //return $wo; } echo hi(); echo '<hr color="red">'; function sum1() { static $i1=1;//局部静态变量再次调用时还是上次的值 return '第'.$i1.'次输出'.$i1++.'<br>'; } echo '这次执行后$sum的值为:'.sum1(),'<br>'; echo '这次执行后$sum的值为:'.sum1(),'<br>'; echo '这次执行后$i的值为:'.sum1(),'<br>'; echo '<hr color="green">'; function sum2() { $i2=1;//局部变量每次调用时都会重新赋值 return '第'.$i2.'次输出'.$i2++.'<br>'; } echo '这次执行后$sum的值为:'.sum2(),'<br>'; echo '这次执行后$sum的值为:'.sum2(),'<br>'; echo '这次执行后$i的值为:'.sum2(),'<br>'; ?>
点击 "运行实例" 按钮查看在线实例
运行后的理解:
1 需用$GLOBALS定义全局变量,不然函数体内无法使用;
2 函数体内return是函数的退出命令;
3 函数体内return相当于一个输出语句,只有调用函数时才会输出;
4 函数体内有多个return时,只返回第一个;
5 局部静态变量再次调用时还是上次的值;
6 局部变量每次调用时都会重新赋值。