博主信息
博文 5
粉丝 0
评论 0
访问量 2843
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0804-1. 总结函数的返回值,参数? 2. 匿名函数以及变量作用域问题的理解?
马勇*JackMa
原创
554人浏览过

关于函数的返回值和参数

  • 返回值

return 八种数据类型、函数(命名函数,匿名函数等)中其中任意一种

  • 函数参数

1.函数参数可以改变函数体的执行行为
2.实参和形参的映射关系,是从左至右依次一一对应的
3.形参可以设置默认值,当实参没有传递值时,将使用默认值;反之当实参有传递值时将覆盖掉默认值

  1. function sayHello(ar1,ar2=10,...,arn){
  2. return arr1.arr2. ... .arn;
  3. }
  4. echo sayHell(1,2,...,n);
  • 剩余参数

使用...作为展开和收集参数的标识符

  1. function sayHello(...arguments){ //收集所有形参,得到一个数组
  2. return arguments;
  3. }
  4. $arr = ['lucy','jack','kity'];
  5. var_dump(sayHello(...$arr)); //展开数组,作为实参传递给函数

匿名函数以及变量作用域

  • 匿名函数
    匿名函数也称为闭包
  1. //定义方式
  2. $sayHello = function($name){
  3. return "{$name}说:大家早上好";
  4. }
  5. echo $sayHello('Lucy');
  • 变量的作用域
    1.在函数体外定义的变量,在函数内部是无法直接使用的,需要使用系统关键字gloabl 变量名$GLOBALS['变量名']进行声明
    2.匿名函数使用外部变量,除了再调用时传参,还可以使用关键字use('外部变量名')声明变量的作用的域

    1. $name = 'jack';
    2. //命名函数使用外部变量,第一种方式
    3. function printName (){
    4. global $name; //先声明
    5. return $name;
    6. }
    7. //命名函数使用外部变量,第二种方式
    8. function printName(){
    9. return $GLOBALS['name']; //注意这里变量名不加$
    10. }
    11. echo printName();
    12. //匿名函数使用外部变量
    13. $say = '上午好';
    14. $printName = function($name) use($say){
    15. return $name.'说:'.$say;
    16. }; //注意:匿名函数作为一个执行语句块,必须使用`;`结束
    17. echo $printName($name);
    18. //匿名函数作为函数的返回值,匿名函数体使用函数中的变量
    19. function sayHello($name){
    20. return function($say) use($name) {
    21. return $name.'说:'.$say
    22. }
    23. }
    24. echo sayHello($name)($say);

    命名函数作用于全局,因此定义函数和调用函数没有严格的顺序之分;而匿名函数就必须先定义,再调用

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学