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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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';
     }

     ...
}

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

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何获取可选参数的默认值全部内容,希望文章能够帮你解决php – 如何获取可选参数的默认值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。