批改状态:未批改
老师批语:
以下是变量的作用域 代码演示,第一个函数体内有两种情况
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 局部变量每次调用时都会重新赋值。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号