我想知道是否有一种更简单的方法可以使用php内置函数作为函数的默认值。
这是我目前的代码:
function custom_date($format = 'm-d-Y', $time = null)
{
if($format == "d-m-Y") {
// do something with $time
}
return date($format, $time);
}
我想将time()
用作$time
的默认参数,而不是null
,但它不会让我。我知道我可以将time()
作为第二个参数传递给custom_date
到处调用它,但它在没有第二个参数的地方使用它并且改变它将是一种痛苦。
答案 0 :(得分:2)
当没有值传递给函数时,只需强制$time
等于time()
。
function custom_date($format = 'm-d-Y', $time = null)
{
$time = (null == $time) ? time() : $time;
if($format == "d-m-Y") {
// do something with $time
}
return date($format, $time);
}
答案 1 :(得分:0)
试试这个。
function custom_date($format = 'm-d-Y', $func = 'time') {
if (function_exists($func)) {
if ($format == "d-m-Y") {
// do something with $time
}
return date($format, $func());
}elseif(is_numeric($func)){
//timestamp logic
}}