0804-1. 总结函数的返回值,参数? 2. 匿名函数以及变量作用域问题的理解?
16lz
2021-08-06
关于函数的返回值和参数
- 返回值
return 八种数据类型、函数(命名函数,匿名函数等)中其中任意一种
- 函数参数
1.函数参数可以改变函数体的执行行为
2.实参和形参的映射关系,是从左至右依次一一对应的
3.形参可以设置默认值,当实参没有传递值时,将使用默认值;反之当实参有传递值时将覆盖掉默认值
function sayHello(ar1,ar2=10,...,arn){
return arr1.arr2. ... .arn;
}
echo sayHell(1,2,...,n);
- 剩余参数
使用...
作为展开和收集参数的标识符
function sayHello(...arguments){ //收集所有形参,得到一个数组
return arguments;
}
$arr = ['lucy','jack','kity'];
var_dump(sayHello(...$arr)); //展开数组,作为实参传递给函数
匿名函数以及变量作用域
- 匿名函数
匿名函数也称为闭包
//定义方式
$sayHello = function($name){
return "{$name}说:大家早上好";
}
echo $sayHello('Lucy');
变量的作用域
1.在函数体外定义的变量,在函数内部是无法直接使用的,需要使用系统关键字gloabl 变量名
或$GLOBALS['变量名']
进行声明
2.匿名函数使用外部变量,除了再调用时传参,还可以使用关键字use('外部变量名')
声明变量的作用的域$name = 'jack';
//命名函数使用外部变量,第一种方式
function printName (){
global $name; //先声明
return $name;
}
//命名函数使用外部变量,第二种方式
function printName(){
return $GLOBALS['name']; //注意这里变量名不加$
}
echo printName();
//匿名函数使用外部变量
$say = '上午好';
$printName = function($name) use($say){
return $name.'说:'.$say;
}; //注意:匿名函数作为一个执行语句块,必须使用`;`结束
echo $printName($name);
//匿名函数作为函数的返回值,匿名函数体使用函数中的变量
function sayHello($name){
return function($say) use($name) {
return $name.'说:'.$say
}
}
echo sayHello($name)($say);
命名函数作用于全局,因此定义函数和调用函数没有严格的顺序之分;而匿名函数就必须先定义,再调用
更多相关文章
- php之灭绝秘授函数,变量,师太亲传作用域,返回值
- return返回值,函数参数 ,变量作用域
- 函数的参数 返回值 传参 以及理解匿名函数的作用域
- 参数,作用域,匿名函数
- PHP基础课第三次作业
- PHP编程0804作业:函数的返回值,参数? 匿名函数以及变量作用域
- php编程0804作业
- php中的常量
- php变量常量的基本定义与使用