PHP默认参数函数调用 - php

在php中,我们可以将默认参数传递给类似这样的函数

function func_name(arg1,arg2=4,etc...) {

但据我了解,我们无法传递函数调用,因此这是非法的:

function func2_name(arg1,arg2=time(),etc...) {

因此,当我想做一个函数值(像时间函数一样,无法在运行时提前知道该值)时,我必须像这样做一些麻烦的工作:

function func3_name(arg1,arg2=null,etc...) {
    if(arg2==null) arg2 = time();

我想知道是否有人知道更好的方法,更干净的方法将函数调用值作为php中的默认参数传递?谢谢。

另外,在php语言设计中是否有任何根本原因不允许其将函数调用作为默认参数(例如,它是否在预处理中做一些特殊的事情?),或者这可能会在将来的版本中成为功能吗?

参考方案

好吧,简短的答案是,据我所知,没有更好的方法。但是,您可以使用三元运算符使它看起来更整洁。

function func3_name(arg1,arg2=null,etc...) {
  arg2 = (arg2==null ? time() : arg2);
}

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

PHP:获取调用引用的数组名称 - php

假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…