php – 如何获取可选参数的默认值

前端之家收集整理的这篇文章主要介绍了php – 如何获取可选参数的默认值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可能这是 PHP的限制,但是有可能以某种方式调用函数 – 并强制执行可选参数的’default’值 – 即使在函数调用中,给出了可选参数(和== null)?

也许更容易表明我的意思:

<?PHP
    function funcWithOptParam($param1,$param2 = 'optional') {
        print_r('param2: ' . $param2);
    }

    funcWithOptParam('something'); // this is the behavIoUr I want to reproduce

    // this will result in 'param2: optional'

    funcWithOptParam('something',null); // i want $param2 to be 'optional',not null

    // this will result in 'param2: ' instead of 'param2: optional'
?>

现在,最简单的答案是“不要写null然后” – 但在我的特殊情况下,我得到一个函数调用的参数数组,并且只能这样做:

<?PHP
    funcWithOptParam($param[0],$param[1]);
?>

因此,即使$param [1]为null,null也将覆盖可选参数的默认值

我只看到一个解决方案 – 跳过可选参数,并按以下方式执行:

<?PHP
    function funcWithOptParam($something,$notOptional) {
         if($notOptional === null) {
              $notOptional = 'defaultvalue';
         }

         ...
    }
?>

但我想知道是否有另一种解决方案. PHP中是否存在“真正的”空值?这真的转化为“什么都没有”?像js中未定义的东西?

为什么不将整个数组作为函数参数传递?
你只需这样称呼它:
funcWithOptParams($params);

并像这样处理它:

function funcWithOptParams($params) {
     if(!isset($params[1])) {
          $params[1] = 'defaultvalue';
     }

     ...
}

方法使您可以仅传递要指定的参数,并在您不想指定的参数中使用默认值.作为奖励,您不必担心参数的顺序.

原文链接:https://www.f2er.com/php/444942.html

猜你在找的PHP相关文章