hac*_*ist 12 php language-design function default-value
在php中,我们可以将默认参数传递给像这样的函数
function func_name(arg1,arg2=4,etc...) {
Run Code Online (Sandbox Code Playgroud)
但根据我的理解,我们无法通过函数调用,因此这是非法的:
function func2_name(arg1,arg2=time(),etc...) {
Run Code Online (Sandbox Code Playgroud)
所以,当我想要做一个函数值时(想象一下像时间函数一样,值不能在运行时之前知道)我必须像这样做一个混乱的工作:
function func3_name(arg1,arg2=null,etc...) {
if(arg2==null) arg2 = time();
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道更好的方法,一种更简洁的方式将函数调用值作为默认参数传递给php?谢谢.
在PHP语言设计中还有任何根本原因,它不允许函数调用作为默认参数(就像它在预处理中做了一些特殊的事情吗?)或者这可能成为未来版本中的一个特性?
Con*_*eet 13
嗯,根据我的知识,简短的回答是没有更好的方法来做到这一点.但是,您可以通过使用三元运算符使其看起来更整洁.
function func3_name(arg1,arg2=null,etc...) {
arg2 = (arg2==null ? time() : arg2);
}
Run Code Online (Sandbox Code Playgroud)