【问题标题】:How can I make my function execute even when no parameter is entered?即使没有输入参数,如何让我的函数执行?
【发布时间】:2013-04-18 11:09:36
【问题描述】:

我正在通过一本书自学 PHP,为了使这更容易,我为自己创建了一个函数,以节省自己不得不写 echo "<br/>"; 一百万次的麻烦。我的函数工作正常,但在不小心遗漏了一个参数并出现错误后,我尝试让它,如果我将函数留空,它只会添加一个<br/>,但我似乎无法让它工作。

这是我上次尝试(尝试case NULL: echo "<br/>";)后的代码:

function br($break){
    switch ($break){
        case 1:
            echo "<br/>";
            break;
        case 2:
            echo "<br/><br/>";
            break;
        case 3:
            echo "<br/><br/><br/>";
            break;
        case 4:
            echo "<br/><br/><br/><br/>";
            break;
        case 5:
            echo "<br/><br/><br/><br/><br/>";
            break;
        case NULL:
            echo "<br/>";
    }

}

有什么想法吗?谢谢大家!

附:对不起,如果这是一个非常愚蠢的问题,我星期一才开始学习 PHP,我的编程经验有些有限:)

【问题讨论】:

    标签: php function arguments switch-statement


    【解决方案1】:

    试试这样:

    function br($break = 1){
    
    }
    

    顺便说一句,对于您的情况,您实际上可以使用:

    echo str_repeat('<br />', 5);
    

    这将创建 5 个 br,请看这里:http://php.net/str_repeat
    此外,当您对某事有疑问时,第一次查看 php.net 文档时,可能已经有一个功能可以满足您的需求。

    【讨论】:

      【解决方案2】:

      如果你默认想要 1 br,你可以这样做:

      function br($break = 1){
      
      }
      

      【讨论】:

        【解决方案3】:

        完全不使用 switch 可能更容易,而是做这样的事情:

        function br($break = null)
        {
            if(!is_null($break)) {
                echo str_repeat('<br />', (int) $break);
            } else {
                echo '<br />';
            }
        }
        

        (未测试)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-20
          • 2017-06-13
          • 1970-01-01
          • 2014-01-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多