PHP 函数

定义函数:

function 函数名(【参数】){

     //函数体

    //返回值:return 结果;

}

调用函数:

函数是在代码执行阶段,碰到函数名字的时候才会调用,不是在编译阶段。 (调用可以在定义之前)

函数命名规范:

  • 由字母、数字和下划线组成,但不能以数字开头;
  • 驼峰法:除了左边第一个单词外,后边所以的单词首字母都大写:showParentinfo();
  • 下划线法:单词之间通过下划线连接,单词都是 小写:show_parent_info().

引用传值:

基本定义语法:

function 函数名($形参1,$形参2){

          //函数体

}

注:在传入实参时,必须传入变量。

返回值:

如果没有明确return使用,那么系统默认返回NULL

作用域:

变量(常量)能够被访问的区域

  • 全局变量:就是用户普通定义的变量(函数外部定义);在PHP中只允许在全局空间使用,函数内部不可使用;

 

  • 局部变量:函数内部定义的变量;在PHP中只允许当前函数自己内部使用;

 

  • 超全局变量:系统定义的变量(预定义变量:$_SERVER、$_POST等);函数内外都可访问。

超全局变量会将全局变量自动纳入到$GLOBALS里面,而$GLOBALS没有作用域限制,所以能够帮助局部去访问全局变量:但必须使用数组方式

 

但是通常不会这么用,一般如果会存在特殊使用,也会使用参数的形式来访问。(还可以使用常量:define 定义的)

静态变量:static

基本语法:

function 函数名(){

    //定义变量

    static $变量名 = 值;    //通常在定义的时候就直接赋值

}

 可变函数:

 匿名函数:

基本语法:

变量名 = function(){

        函数体

};

变量保存匿名函数,本质得到的是一个对象(Closure)

闭包:函数内部有一些局部变量(要执行的代码块)在函数执行之后没有被释放,是因为在函数内部还有对应的函数在引用 (函数的内部函数:匿名函数)

 证明:函数的局部变量在函数使用完之后没有被释放?

  1. 使用内部匿名函数;
  2. 匿名函数使用句变量:use;
  3. 匿名函数被返回给外部使用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值