【PHP】函数

一、      数学中的函数:

  a)    sin()、cos()、tan()、log() 这些都是数学函数,但是都已经忘了啥意思了!没关系,在php当中的函数和这些函数的概念还是有一定的区别的

二、      生活中的函数:

  a)    定义:某一个具有名字的工具,它能够完成一些指定的任务!这样的东西,我们就可以称之为一个函数!

  b)    举个例子:

               i.         石头:它的名字就是石头,它的作用就是砸核桃,攻击!

              ii.         长矛:它的名字就是长矛,它的作用是插、扎、刺、砍!

             iii.         打火机:它的名字就是打火机,它的作用就是点烟,点火,放炮……

             iv.         小米:它的名字是小米,它的作用可以吃,还可以打电话!

              v.         锤子:它的名字是锤子,它的作用可以钉钉子,还可以打电话,按摩

             vi.         三星:它的名字是三星,它的作用可以打电话,爆破!

三、      为啥要使用函数?

  a)    1.使用函数可以让我们的工作效率更高【代码效率更高】

  b)    2.它能够使我们的代码更简洁

  c)    3.它更易于维护!

四、      PHP当中的函数:

  a)    定义:能够完成指定任务的,还得是已命名的代码块,这就是php当中的函数!

  b)    函数的分类:

    i.系统函数:

      1.    其实我们已经见过了很多的系统函数了!但是之前我都叫他小工具!我都是昧着良心叫的

      2.    例如:var_dump()、isset()、empty()、settype()、gettype()、is_int()、is_float()……………这些系统已经定义好的函数,都是系统函数!

      3.    如何来使用一个系统该函数(看手册)?

        a)    看函数的功能

        b)    看函数的参数

        c)    看函数的返回值

        d)    看函数的一些实例

    ii.         自定义函数:

      1.    需要自己手动去创造的函数,就属于自定义函数,它是系统函数当中不存在的那些函数!

五、      你的第一个自定义函数:

  a)    定义函数的几个步骤:

                i.         写程序代码

               ii.         给程序代码外面加上花括号

              iii.         花括号前方起了一个名字,并且加上了小括号

              iv.         最后才在最前方加上了function关键

  b)    关于函数的命名规则:

                i.         字母数字下划线组成、不能使用数字开头,不区分大小写,不能重复定义,不能使用关键字命名!

  c)    关于函数的使用方法:

                i.         直接将函数名字拿过来用即可

               ii.         Function 函数名(参数1[,参数2,参数3,…]){

          函数体;

              iii.         }

              iv.         使用:函数名()

   d)    关于函数的参数:

    i. 形参:

      1.    定义:形式上的参数

      2.    形参,是我们在定义一个函数的时候,写在函数名后方小括号当中的变量的内容

      3.    形参可以定义多个,但是一定要有意义

      4.    多个形参之间使用逗号隔开

      5.    形参的个数可以使无数个

    ii.实参:

      1.    定义:实际上的参数

      2.    实参,是我们在调用一个函数的时候,写在小括号当中的实际内容

      3.    实参也可以定义多个,但是一定要和形参是一一对应的!

      4.    实参之间也是使用逗号隔开的!

      5.    实参的值也可以是存值的变量

    iii.         默认值:

      1.    在某些情况下,函数的某一个参数可能是固定的值不变,因此这种情况下,我们通常胡给定那个参数一个默认值!

      2.    只有形参当中有默认值的情况下,实参和形参的数量可以不一一对应,这是一个例外情况

      3.    拥有默认值的形参,必须放到参数列表的后方

      4.    拥有默认值的形参,实参处可以不给定值,但是,如果实参处给定了具体的值,则实参的值会覆盖形参的值

    iv.         函数的使用位置:

      1.    函数的使用可以在函数之前,也可以在函数之后

      2.    原因:当程序执行某一个脚本,会将脚本当中的所有函数存放到缓冲区当中,缓冲区是内存当中的一个区块,所以,无论在当前脚本的任何位置,都是可以调用缓冲区当中的函数的!

    v.         函数当中的return关键字:

      1.    我们通常使用的函数,都是将结果保存下来,而非直接输出,因此,在函数中使用return关键字,可以将结果返回到调用处,并且保存下来!

      2.    Return后面的代码一概不执行,在PHP当中不会报错,但是在JAVA当中会直接报错,并告诉你,这里的代码是永远无法到达的代码,建议删除!

    vi.         变量的作用域:

      1.    因为函数的出现,导致了变量作用域的不同!

      2.    全局变量

        a)    定义:在php脚本当中所定义的变量就属于全局变量!

        b)    全局变量作用域当前整个脚本!

        c)    在函数当中如果想要使用一个全局变量,需要使用global关键字来将外部的全局变量叫到函数内部

      3.    局部变量

        a)    定义:在函数当中所定义的变量,叫做局部变量!

        b)    局部变量只作用于函数内部!

      4.    静态变量(了解!)

        a)    定义:在函数当中使用static关键字声明的变量就属于一个静态变量。

        b)    静态变量会保留上次执行完的结果,而且静态变量在函数中赋初值的操作只执行一次!

        c)    原理:当第一次调用拥有静态变量的函数,静态变量的值会直接存储到静态区当中,当下一次在调用该函数的时候,会首先去静态区当中寻找是否已经拥有该静态变量,如果有直接拿过来使用。

      5.    超全局变量(了解):

        a)    $GLOBALS:包含所有的超全局变量!

          1.    $_SERVER:服务器和执行环境信息

          2.    $_GET:通过URL参数传递给当前脚本的变量的数组

          3.    $_POST:通过HTTP POST方法传递给当前脚本的变量

          4.    $_FILES:保存文件的上传信息

          5.    $_COOKIE:通过HTTP Cookies方式传递给当前脚本的信息

          6.    $_SESSION:当前脚本可用 SESSION 变量的数组

          7.    $_REQUEST:包含GET、POST和COOKIE信息的集合

      vii.关于函数库的引入:

        1.    函数库其实就相当于一个工具箱,当我们需要使用工具箱当中的某一个工具的时候,直接将工具箱拿过来即可!

        2.    Include(“”)  或  include “”;

          a)    常用于引入一些并非非常重要的函数库

          b)    如果include方法引入文件失败,会提示一个warning级别的错误,但是脚本依然可以执行!

        3.    Require(“”)  或  require “”;

          a)    常用于引入一个对当前脚本非常重要的函数库

          b)    如果require方法引入文件失败,会提示一个Fatal级别的错误,这是致命错误,将会中断整个脚本的执行!

        4.    Include_once

          a)    如果重复引入一个文件,include_once代表只引入一次当前文件!

          b)    其他特点同上!

        5.    Require_once

          a)    如果重复引入一个文件,require_once代表只引入一次当前文件

          b)    其他特点同上!

      viii.可变参数个数的函数!(了解)

        1.    Func_num_args()     获取实参总个数!

        2.    Func_get_args() 获取实参列表的详细信息

        

          在这个列表当中,0-5代表下标,10-60代表对应的值

        3.    Func_get_arg()  获取指定下标的实参信息

      ix.引用函数:

        1 function demo(&$num1){
        2     $num1=200;
        3 }
        4 
        5 $num1=100;
        6 demo($num1);
        7 echo $num1;

        1.    注意:

          a)    使用引用函数概念是,要注意,在实参处存放的值应当是一个变量,而不是一个实际的值,因为值没有地址,变量有地址!

      x.变量函数[ 回调函数 ]:

        1.    定义:将一个函数的名字作为一段字符串,赋值给一个变量,则该变量名可以作为函数名去使用!

      xi.回调函数:(了解!)

        1.    定义:一个函数当中可能会调用另外的一个函数,这就是一个回调函数!

        2.    注意:

          a)    回调函数会使用到变量函数的概念!

          b)    回调函数通常是应用在一些对于主程序的规则限制的作用

      xii.递归函数:

        1.    递:进去

        2.    归:出来

        3.    递归其实就是函数自己玩自己!

原文地址:https://www.cnblogs.com/peilanluo/p/6813940.html