php - 根据先前的参数获取默认参数的值

标签 php function default-parameters default-arguments

我有一个 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/

相关文章:

php mysql从json中的多个表中获取数据

php - 更改具有相同 ID joomla 的模块标题之一的 ID

php - 最安全的php用户认证功能

php - Doctrine 将一个实体发送给 DQL 的 NEW 构造函数

c++ - 是否有统一的方式来存储和传递任何可调用对象?

c++ - 默认 lambda 作为函数的模板化参数

javascript - __proto__ 和原型(prototype)的区别

javascript - 在 JavaScript 中测试函数的最佳方法?

c++ - 为什么 C++ 不允许函数参数用于后一个参数的默认值?

javascript - 函数体的解结构变量和变量部分之间的区别