查詢

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函式
分享連結