簡體   English   中英

如何像Javascript一樣使用閉包作為匿名函數?

[英]How to use Closure as an Anonymous Function like on Javascript?

我有一個問題,我不太清楚Closures在OOP上使用了什么,但是我做了這樣的事情:

<?php /** * */ 
class Xsample {
public static $name; 
public static $address = array("Mandaluyong", "City"); 
public static function setName ($name) {
self::$name = $name; 
} 
public static function getName() {
echo self::$name; 
} 
public static function sub ($func) {
return call_user_func_array($func, self::$address); 
} 
} 
Xsample::setName("Eric"); 
Xsample::sub(function ($address) {
echo $address; 
}); 
?>

並呼應“曼達盧永”。 我期望它會從Xsample :: $ address返回一個數組,但是沒有。 有人可以向我解釋一下嗎?

call_user_func_array將第二個參數的元素作為參數傳遞給被調用的函數。 因此,如果您的函數有另一個參數,它將起作用。

Xsample::sub(function ($address, $address2) {
echo $address; 
echo $address2; 
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM