php-6

回顾
    函数:
    
普通函数
有参数
有默认值
有返回值
return 和 echo 的区别?
全局变量
局部变量
超全局变量
    $_GET
    $_POST
    $_REQUEST
    $_SERVER
    $_FILES
    $_COOKIE
    $_SESSION
    
【静态变量】 重点

    function total()
    {
        static $num = 0;
        
        $num++;
        echo $num.'<br />';
    }
    total();  // 1
    total();  //2
    total(); //3
    total(); //4
    
    这个变量只会初始化一次,在运行的时候会记录上一次的值 static的变量不会销毁
    
【内部函数重复定义的问题】
    
    1、通过静态变量解决
    2、通过判断这个函数是否存在
        function_exists()
        //传入函数名 如果函数存在返回真,如果函数不存在返回假
    3、判断这个函数是否可以被调用
        is_callable();
        //如果这个函数可以调用返回真,如果不可以调用返回假
        //函数存在与否
        
【类型约束】
    function sum(int $num1 , int $num2)
    {
        return $num1 + $num2;
    }
    
    如果你限制了你的形参的类型,你就必须要传入对应的类型
    否则报错
    
    
    
    function sum($num1 , $num2):string
    {
        //return $num1 + $num2;
        return 1;
        //echo 1; ×
    }

    var_dump(sum(1,2));
    
    就是限制你的返回值的数据类型 必须是字符串

    
    
    function info($name , $age ,$sex):int
    {
        return '我的名字是'.$name.'我的年龄是'.$age.'我的性别是'.$sex.'<br />';
    }

    info('张三','十二','保密');
    
    //这么写代码没意义
    
    
【严格模式】了解一下下
    //严格模式 了解就行了不做为重点
    declare(strict_types = 1);

    function sum($num1 , $num2):string
    {
        //return $num1 + $num2;  // int 3
        
        //return 'a';
        
        return 1;
    }

    var_dump(sum(1 , 2));
    
    function sum():int
    {
        return 2.3;
    }

    var_dump(sum());

    
    如果你开启了严格模式的话,你的返回值限制了什么类型
    你就必须要返回什么数据类型
    不然报错
    
    
【call_user_func】    
    
    解释:它必须依赖于一个回调函数,必须传入一个函数名,并且用引号引起来啊
    
    第一种用法:
        call_user_func('函数名');
        
    第二种用法:
        
        call_user_func('函数名', 实参1,实参2,实参n......)
        
【引用传参】
    $num1 = 12;

    function yiyong(&$num2)    //12
    {
        $num2 = 18;
        
        echo $num2;
    }

    yiyong($num1);  //12

    echo $num1;
    
    解释:$num1 和 $num2 发生了引用的关系

【递归】


【可变参数长度】
    func_get_args()
    获取所有的实参,以数组的方式返回
    
    
    func_get_arg(下标)
    根据你传入的下标获取你对应的元素(值)
    
    
    func_num_args()
    返回你传入实参的总个数

【php7.0特性】(了解就行了)
    function test(...$arr)
    {
        
        var_dump($arr);
        
    }

    test(1,2,3,4,5,6,7,8);

    //以数组的接收每一个实参
    
    function test($num1 , $num2 , $num3)
    {
        echo $num1;
        echo $num2;
        echo $num3;
    }

    //test(1,2,3);

    $arr = [1,2,3,4];

    test(...$arr);
    
    //以数组的方式进行传参
    
【变量函数】
    就是把一个函数名赋值给于一个变量
    变量名字+() == 函数名+();
    
    
【回调函数】
    它是变量函数的变形,可以通过变量函数或者回调函数来完成一些复杂的功能
    
    如果你在看手册的时候看到了 callback  就是要求你必须要传入一个回调函数
    
【匿名函数】
    定义:就是没有名字的函数 又叫做闭包
    
    如果你想使用匿名函数的话必须赋值给于一个变量
    
    变量名+();
   

猜你喜欢

转载自blog.csdn.net/qingchurenxiaoyao/article/details/81584653