博客列表 >PHP的函数

PHP的函数

大象爱好者的博客
大象爱好者的博客原创
2019年04月18日 16:01:181102浏览

含义

    函数是一种代码形式。

    函数就是一个具有特定功能的代码片段。

定义

11.png      

       说明:

            1,函数名的命名规则,跟变量名一样;

            2 , 函数名不区分大小写

            3,定义函数的目的就是为了以后能够调用(代码复用);

            4,调用函数,其实就是执行函数中代码;

            5 , 形参,其实就是变量,是只能在该函数内部使用的变量;

            6,  实参,其实就是数据,是会传入函数内部的数据(是一一对应地赋值给形参变量)

函数的执行原理      

       程序总是运行在一个“内存空间”。

       程序开始执行的位置所在的空间,可以称之为“主运行空间”。

       实际上,通常函数外面的那些程序,都是运行在主空间中

       那么,函数的运行,就相对独立了——每个函数的每次调用,都是运行在单独的一个自己的空间中(开辟栈空间)

      22.png

     

        提示:

                 在从主空间进入函数空间的时刻,会先将函数调用时的“实参数据”,赋值(传值)给“形参变量”

          而后,才开始执行函数内部的语句!          

 函数的参数    

          形参

                 就是定义函数的时候,在函数名后的小括号中给出的变量名

                 形参,只能在函数内部使用——即该变量的使用范围仅仅局限于当前函数内部。

                 形参的本质是变量!

         实参

               就是调用函数的时候,在函数名后的小括号中给出的数据值,传递给形参的值

               实参的本质是数据!


         函数参数的传值方式

                含义:实参变量的值,以什么方式传给形参。

                说明:

                         其前提是:实参是一个变量的情况。

                         所以其实这里讨论的是:两个变量的传值方式问题。

                         默认情况下是值传递

                       可以使用“&”符号设定为引用传递,形式如下:

                     function  f1( $p1, &$p2, .... ){  

                                          。。。。。

                       }

                此时,在函数内部,对该形参变量改变其值,则对应的实参变量(在函数外部)的值也改变了。

          形参的默认值       

                    形参可以设定默认值。形式为:$形参名 = 某值。

                    设定默认值的形参,只能放在没有设定默认值的形参的后面(右边)

                    设定了默认值的形参对应的实参可以不提供数据,此时函数就会使用该默认值当做实参的值。

                    function  f1($p1,  $p2,  $p3 = 3,  $p4 =true ){

                            //函数体语句块

                    }

                  则此时调用上述函数,以下形式都可以:

                  f1(1,2);

                  f1(3, 4, 5);

                  f1(6,7,8, 9);

函数的返回值    

             一个函数在执行结束时,可以让其返回一个数据,这就是函数的返回值。

            语法:

                 return  要返回的数据

           说明:

                   1,一般情况下一个函数执行结束都是需要返回一个数据值的。

                   2,函数也可以在执行的中途返回数据,此时,函数也是结束了的。

                   3,一个函数执行得到的返回值,可以在任何需要数据的场合使用,跟使用一个变量数据一样。

 

            结论:只要执行到return语句,函数就会结束,是否返回数据,看该行代码

可变函数

           函数名是一个变量。(这个变量的值是一个函数名)。

           可变函数实际上就是在调用函数的时候,使用一个变量来表示函数名,并用该变量去调用函数。

           注意:定义函数的时候,不可以使用可变函数名!

          对比:

                可变变量,就是变量名是一个变量,比如:$$v1;

                可变函数,就是函数名是一个变量,比如:

                   调用函数f1的语法是这样:f1();

                  可以使用可变函数的语法来调用: $func_name = “f1”;  $func_name(); //此时实际就是调用f1

       可变函数的本质是:一个变量的内容是一个字符串,该字符串是一个函数的名字,比如:

          function  f1(){ ....... }

          function  f2(){ ....... }

          $f  = “f1”;

          $f();  //调用了函数f1,这就是可变函数!!

           $f  = “f2”;

           $f();  //调用了函数f2,这就是可变函数!!

           $f = “f3”;

           $f();  //报错!因为没有f3这个函数,实际是,就是相当于: f3();

      33.png 匿名函数

            就是一个“定义时没有名字”的函数。

            此时,就面临一个问题,那就是:没有名字,怎么调用呢?

            实际上,此时它通过另一个方式来调用,如下所示:

            $f1 = function   (形参...) {  .......  };  //这是定义匿名函数的形式。

            $f1(实参); //这就是调用该调用。可见其调用,跟可变函数的写法非常类似。

            匿名函数通常被用作函数的参数。

               555.png


            

            



      

           


   



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议