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 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。

  • 相关阅读:
    第三天 moyax
    mkfs.ext3 option
    write file to stroage trigger kernel warning
    download fomat install rootfs script
    custom usb-seriel udev relus for compatible usb-seriel devices using kermit
    Wifi Troughput Test using iperf
    learning uboot switch to standby system using button
    learning uboot support web http function in qca4531 cpu
    learngin uboot design parameter recovery mechanism
    learning uboot auto switch to stanbdy system in qca4531 cpu
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11038057.html
Copyright © 2011-2022 走看看