Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
一、return返回值:
1 函数中只有一个return语句,且其后面的语句不执行
2.返回值可以是整数,表达式,字符串,数组,浮点数,对象等
3 如果返回值是多个数,可以以数组的形式返回
二、 参数:参数的不设置,决定了其执行的行为,为函数的调用者提供一个接口,去改变函数体的执行行为
参数常用的形式:
1 无参数函数:函数的执行任务是固定的
2.多个参数,用逗号隔开;实参与形参保持一致,
3 设置默认值参数:
a 参数列表是从左往右传送的,默认参数要放在非默认参数的右面
b 不传参数或少传参数,都会使用默认的参数值。
c 如果用户传了参数,将会使用用户传送的参数。
4.剩余参数:适用于参数的个数不确定。三个圆点加一个变量就是剩余参数
三、闭包:就是匿名函数,匿名函数的作用域:只能要声明之后才能调用
<?php
// 闭包就是匿名函数,匿名函数的作用域:只能要声明之后才能调用
$closure = function($name){
return "欢迎{$name}来郑州游玩";
};
echo $closure('黄宇');
?>
四、变量作用域
1、全局变量,就是函数体外声明的变量
在函数体内访问全局变量,需要利用global和$GLOBALS来完成
2、局部变量,就是函数体声明的变量
//变量的作用域
//全局变量,就是函数体外声明的变量
$itemName = "英语拼读课";
$itemPrice = 2499;
echo '<br>';
// function getItemInfo(){
// return sprintf("暑假%s特价%d",$itemName,$itemPrice);
// }
//echo getItemInfo(); //全局变量在函数体内无法访问的
//解决的方法:利用global 和$GLOBALS
function getItemInfo_pro(){
global $itemName,$itemPrice;
return sprintf("暑假%s特价%d",$itemName,$itemPrice);
}
echo getItemInfo_pro();
function getItemInfo_pro1(){
// global $itemName,$itemPrice;
return sprintf("暑假%s特价%d",$GLOBALS['itemName'],$GLOBALS['itemPrice']);
}
echo getItemInfo_pro1();