php把函数作为参数传递!

2021-02-10  本文已影响0人  DragonersLi
php数据类型:
布尔(Boolean)、整型(Integer)、浮点型(Float)、字符串(String)、
数组(Array)、对象(object)、NULL(空值)、资源(resource)


传递资源作为参数:
    $resource = fopen(app()->getRootPath()."/.env",'rw');//资源
    $res = $this->func($resource);//把资源作为参数传递给函数
        dd(gettype($res));//打印返回resource对象类型
传递函数作为参数调用:
    public function func($param = null){
            return $param ; 
    }

$param1 = 10;
$param2 = 20;
 $param = function($param1 = 0) use($param2){
        return $param1+$param2;
        };
            var_dump($this->func($param($param1)));
            var_dump($this->func($param)($param1));
    $param1 = 10;
    $param2 = 20;
        //定义变量值为函数调用
       $param = function($param1 = 0) use($param2){
                    return $param1 + $param2;
                };
函数作为值赋给变量打印结果
^ Closure($param1 = 0) {#231 ▼
  class: "app\api\controller\v1\Index"
  this: app\api\controller\v1\Index {#229 …}
  use: {▼
    $param2: 20
  }
}

函数赋值并调用,把结果当做值赋给变量
    $param1 = 10;
    $param2 = 20;
       $param = (function($param1 = 0) use($param2){
                    return $param1 + $param2;
                })($param1);//定义函数并调用,结果作为值赋给变量$param
        dd($param);//结果:30
函数当变量赋值调用
    $param1 = 10;
    $param2 = 20; 
       $param = function($param1 = 0) use($param2){
                    return $param1 + $param2;
                };
 
       dd($param(20));//结果:40
把函数作为值赋给变量(注意:函数赋值给变量分号';'勿忽略
       $func = function($param1 = 0,$param2 = 0){
        return $param1 + $param2;
       };
       dd($func(10,20));//结果:30
上一篇 下一篇

猜你喜欢

热点阅读