繁体   English   中英

PHP闭包作为可选函数参数

[英]PHP closure as an optional function argument

当argument是PHP闭包时,可以指定默认参数值吗? 喜欢:

public function getCollection($filter = function($e) { return $e; })
{
    // Stuff
}

我错过了什么(可能是不同的语法?)或根本不可能? 当然我知道我能做到:

public function getCollection($filter = null)
{
    $filter = is_callable($filter) ? $filter : function($e) { return $e; };
    // Stuff
}

注意:我没有测试上面的代码)

默认参数只能是“标量参数”,数组或NULL。

PHP中的“标量值”是数字,字符串和布尔值。

如果您希望函数成为默认参数,则需要使用第二种方式,第一种方法是语法错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM