zoukankan      html  css  js  c++  java
  • PHP基础-自定义函数-变量范围-函数参数传递

    一、自定义函数
        function 函数名([形式参数1,形式参数2,....形式参数n]){
            //各种PHP代码....
            //......
            return 表达式;//也可以不返回,如果不写那么默认返回null
        }
        
        函数的调用:
            函数的调用需要遵循定义函数的时候写的规则,一一对应,将具体的实际参数传给定义函数时候写的形式参数!
            调用函数之后执行的过程是相对独立的,互补干扰,默认没有联系!
            执行完毕返回调用的位置继续向下执行
        函数的返回值:
            返回给调用者,默认返回null
        
        函数比喻成我们现实生活中的 某个零件的制造部门!
        参数:原材料或者是这个零件的一些具体的参数!
    二、PHP变量的范围
        1.局部变量
            function test(){
                $a=1;//局部变量$a,尽在这个函数内部有效
            }
            echo $a;
        2.全局变量
            $i=10;//全局变量(外部变量)
            define('MY_NAME','孙胜利');
            function test(){
                echo MY_NAME;
                global $i;//声明$i为全局变量,然后再这个函数内部就可以使用$i
                echo $i;
                $a=1;
            }
            test();
        3.静态变量
            function test(){
                static $a=10;//静态变量$a,初始化静态变量,尽在第一次调用的时候执行
                echo ++$a;//当第二次执行这个函数的时候$a这个变量依然存在并且里面的也值依然存在!
            }
            test();
            echo '<br />';
            test();
            echo '<br />';
            test();
            echo '<br />';
            test();
            echo '<br />';
            test();
            echo '<br />';
            test();
            echo '<br />';
            test();
    三、参数的传递
        1.按值传递参数
            默认的,我们在传递参数的时候默认使用的就是这个方式!
            对形式参数的操作,根本不是影响到实际参数(变量)的值,两者相当于没有联系!
        2.按引用传递参数
            按引用传递参数,相当于形式参数和实际参数指的是同一个人,只是名字不一样,对于形式参数的操作会直接影响到实际参数(变量);
        3.函数的默认参数
            可以给形式参数设置默认值,设置方法很简单直接赋值即可!
            给形式参数加默认值的时候是重右往左加的,右边的必须有,才能够给左边的加!
        4.可变长度参数列表
            PHP提供给我们的,可以直接使用
            func_get_args();
            func_get_arg();
            func_num_args();
            这三个函数可以使用在我们的自定义函数内部,能够返回给我们一些关于参数的信息!

    四、可变函数(变量函数)
      直接把函数赋值给变量

    /* 可变函数 */
    function test(){
        echo '测试函数2';
    }
    $a='test';
    $a();//test();
      可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。

  • 相关阅读:
    poj2623
    poj2635
    案例解析丨 Spark Hive 自定义函数应用
    云图说 | 华为云GPU共享型AI容器,让你用得起,用得好,用的放心
    云小课 |选定合适的证书,做“有证”的合规域名
    记一次 node 项目重构改进
    SpringBoot写后端接口,看这一篇就够了!
    如何让知识图谱告诉你“故障根因”
    我敢说,这个版本的斗地主你肯定没玩过?
    5 分钟带你掌握 Makefile 分析
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11038057.html
Copyright © 2011-2022 走看看