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

  • 相关阅读:
    PHP算法每日一练 双向链表
    Web开发者必备的十大免费在线工具网站
    使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.5
    linux服务器状态、性能相关命令
    PHP算法每日一练 单链表
    [转]DELPHI2006中for in语句的应用
    [转]Delphi线程类
    [转]解耦:Delphi下IoC 模式的实现
    [DELPHI]单例模式(singleton) 陈省
    [转][Delphi]解决窗体闪烁的方法
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11038057.html
Copyright © 2011-2022 走看看