博主信息
博文 21
粉丝 0
评论 0
访问量 24171
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php之函数的语法、类型、返回值及参数
MUZILE
原创
1237人浏览过

函数

1. 语法

函数是实现代码复用的重要方式,在所有编程语言中均如此

  1. function 函数名称(类型: 参数列表): 返回值类型
  2. {
  3. // 函数体
  4. return 返回值;
  5. }
序号 名称 描述
1 function 声明函数
2 函数名称 符合 PHP 标识符命名规范,不区分大小写
2 参数列表 零个或多个接收外部传入到函数的变量
2 {... 创建出一个封闭的函数作用域
2 函数体 由零个可多个合法的 PHP 语句组成
2 return 值 将执行结果返回函数调用者[可选]
2 ...} 函数执行结束,如果没有return,则返回null

2. 类型

序号 类型 语法 描述
1 自定义函数 function getName(){...} 用户根据业务需求创建
2 系统函数 substr(), count()... 也叫预定义函数,不必声明直接调用
3 可变函数 $funcName(); 函数名使用变量表示
4 匿名函数 $f = function (){...} 也叫”闭包”或”函数表达式”,常用做回调处理

3. 返回值

  • 函数必须要有返回值
  • 函数必须是遵守单值返回原则
序号 场景 描述
1 return 可以返回任何类型的值,包括函数类型
2 return 遇到}也会返回, 默认返回null
  • 如果需要返回多个值,可以通过以下手段
序号 返回值类型 描述
1 string 字符串拼接
2 array 数组
3 json JSON 字符串
4 serialize 序列化字符串

json 和序列化,使用时需要进行解码操作


4. 参数

  • 调用者可以通过参数将数据传递到函数中
  • 参数是以逗号分隔的表达式列表
  • 参数按照从左到右的顺序求值

参数类型

序号 类型 描述
1 值参数 默认传参方式
2 引用参数 改变原始调用参数值
3 默认参数 调用时允许省略的参数
4 剩余参数 调用参数数量不确定
  • 剩余参数:...
  • 1.用在函数的形式参数列表中,表示收集,将多个离散的参数打包到一个数值中处理
  • 2.用在函数的调用参数列表中,表示展开,还原将一个数组展开成一个个离散的值
  1. function demo6(...$arr) : int
  2. {
  3. // return $arr;
  4. return array_sum($arr);
  5. // return array_product($arr);
  6. }
  7. // print_r(demo6(2,5,8,9,48));
  8. // ...
  9. // 1.用在函数的形式参数列表中,表示收集,将多个离散的参数打包到一个数值中处理
  10. // 2.用在函数的调用参数列表中,表示展开,还原将一个数组展开成一个个离散的值
  11. $args = [1,2,3,4,5,6,9,12];
  12. print_r(demo6(...$args));

5. 回调函数

语法 类型 执行方式 应用场景
匿名函数 闭包Closure 异步 函数参数

异步执行,是指当前函数的执行并不会中断当前程序的执行流程


6. 命名空间

  • 使用目录来整理文档, 允许将同名文档,存储在不同的目录下面即可
  • 不同目录下的同名文件,访问时必须带上的它的目录名称,以未区别
  • 命名空间采用类似的思想,同名函数,只要声明在不同空间中即可
  • 同样, 访问这些函数时, 也需要带上它的命名空间才可以

个人总结

  • 通过对函数细致的学习,让我对函数的了解更加的细致,刚开始的时候我觉得自己对于函数这一块就只知道一个基本的语法,其他的感觉知道的特别少,经过老师细致的教学,让我也知道了一些其他并且很难得知识,比如类型中的闭包函数、返回值中得JSON返回、函数参数中得圣剩余参数,都让我觉得刚开始接触很难得听懂,要多理解,闭包的知识我现在就是简单的理解为将函数放到一个变量中,这样函数就相当于封闭起来,简单的理解为闭包。函数中的剩余参数我觉得尤为重要,但更重要的是理解...这个参数归纳的代码,这个收集数组和分离数组都是非常重要的,对于以后数组特别多的时候,处理起来也是简单且快捷。
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:看来你之前学了一个假函数
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学