PHP函数

1. 函数的定义

         所谓函数,就是将一些有具体功能的语句组织在了一起。定义函数的目的是为了将程序分块。方便使用,管理和阅读,调试

 

         函数的分类:系统定义好了的函数,用户自定义的函数

 

2. 自定义函数

         ① 函数的声明

         和JavaScript里面的语法是一样的:

         function   函数名(参数1,参数2,参数3…)

         {

                   //函数体

}

 

         ② 函数的调用

         调用函数也非常简单,直接函数名(相应的参数)

 

         ③ 函数的参数

         函数的参数分为两种:实际参数(实参),形式参数(形参)

 

④ 函数的返回值

         可以通过一个return关键字来进行返回,如果没有设置return,系统默认返回null

         一个函数是否可以有多个返回值?

         写在return下面的所有代码都不会执行,但是有些时候,有些程序员会故意将某些代码写在return下面,这些代码叫做花旦。

         如果我偏偏就要让一个函数返回多个值,可以通过数组的方式。

 

3. 函数的工作原理

         当我们调用一个函数的时候,事实上就是在内存里面开辟了一个新的栈区,当函数执行完之后,新开辟的栈就会被回收。

当我们调用函数1的时候,内存里面就开辟了一个新的栈,形参就是在这个新栈里面被申明和使用的,当函数1执行完之后,这个栈就会被释放掉,所以它对实参不会有任何影响。如果函数1里面又调用函数2,则又会在内存里面开辟一个新栈。

         栈区的特点:先进后出,后进先出 

 

4. 变量的作用域

         和JavaScript一样,PHP不支持块级作用域

         在C语言里面,支持块级作用域

         局部变量

         如果没有函数,那么我们创建的变量可以在页面任何位置使用,但是一旦有了函数,就会有不同的作用域

   除了外部无法访问到函数内部的变量以外,函数内部也无法访问全局变量

   如果想在函数中访问一个全局变量,也不是没有办法,可以使用global关键字

 

  除了上面的方法,还有一个方法,使用PHP内置的超全局数组$GLOBALS[ ],全局变量的变量名就是键名,变量值就是数组的值

  

  静态变量

  如果是在函数里面创建的变量,一旦函数结束,变量就会被销毁

  静态变量的特点就是由于静态变量是放在静态区里面的,所以函数结束后变量不会被销毁。申明静态变量使用关键字static

  

5. 各种形式的PHP函数

         ① 常规参数函数

         所谓常规参数函数,就是实参和形参个数相等,类型一致

 

         ② 引用参数函数

         所谓引用参数,就是将参数的地址传递给函数,这个时候,函数里面的形参和实参都是指向同一个地址,这个时候,相当于两个是被绑定在一起的,形参一改,实参也就被修改了

    需要注意一个地方:在C语言里面,如果传递的是一个数组,那么传递的是地址过去,但是在PHP里面传递数组仍然是传递值过去

    如果想要传递数组的地址,仍然是形参前面加一个&就可以了

   在PHP里面,有很多这样的引用传参的函数,例如:sort()函数,进行排序的函数

  ③ 默认参数函数

  所谓默认函数参数,就是可以给函数指定一个默认参数值,当我们调用函数的时候,如果传过来了实参,就用实参,如果没有,就用默认的参数值

  

 

  

posted @ 2017-08-20 23:54  电子E  阅读(107)  评论(0编辑  收藏  举报