English | 简体中文 | 繁體中文
查询

Closure::__construct()函数—用法及示例

「 一个匿名函数的创建器,用于创建一个闭包实例 」


函数名称:Closure::__construct()

适用版本:需要PHP版本5.3.0及以上

函数描述:Closure类的构造函数是一个匿名函数的创建器,用于创建一个闭包实例。

用法:

$closure = new Closure($thisArg, $signature);

参数:

  1. $thisArg(可选):一个可选的闭包中的$this对象,用于在闭包中访问该对象的属性和方法。
  2. $signature(可选):一个用于指定闭包的参数个数和类型的字符串。可以是不限定参数的签名('mixed(...)'),也可以是指定参数类型的签名('int($a, string $b)')。

返回值:一个新创建的闭包实例。

示例1:

$closure = new Closure();
$sum = $closure->__invoke(2, 3);
echo $sum; // Output: 5

示例2:

$closure = new Closure(null, 'int($a, string $b)');
$concat = $closure->__invoke(2, 'hello');
echo $concat; // Output: 2hello

在示例1中,我们创建了一个没有$this对象和参数约束的闭包实例,并通过__invoke()方法调用了该闭包,计算了传入的两个参数的和。

在示例2中,我们创建了一个没有$this对象的闭包实例,并指定了参数类型为整数和字符串。然后,通过__invoke()方法调用了该闭包,将两个参数拼接在一起并输出。

补充纠错
上一个函数: Closure::fromCallable()函数
下一个函数: Collator::asort()函数
热门PHP函数
分享链接