我有一个 PHP 函数,它接受三个参数,其中一个是可选参数。
function theRange($min, $max) {
// Function Body
}
但是我必须将限制设置为默认参数并将其作为可选参数。所以,我所做的是:
function theRange($min, $max = 5) {
// Function Body
}
当$min
大于5
时就会出现问题,并且如果最大值小于最小值,则该值将变得无效。因此,我将 $max
默认为 $min
,所以我所做的是:
function theRange($min, $max = $min) {
// Function Body
}
这会引发如下错误:
Parse error: syntax error, unexpected
'$min'
(T_VARIABLE
) in functions.php on line 2.
我目前是这样处理的:
function theRange($min, $max = null) {
if (!isset($max) || is_null($max))
$max = $min;
// Function Body
}
有没有更好的方法来处理这个默认参数,将之前的参数作为输入场景?提前致谢! :)
最佳答案
只需分配默认值,并检查它在函数内部是否有效:
function theRange($min, $max = 5) {
$max = $min > $max ? $min : $max;
}
关于php - 根据先前的参数获取默认参数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487649/