即使没有输入参数,如何让我的函数执行?

时间:2013-04-18 11:09:36

标签: php function arguments switch-statement

我正在通过一本书教自己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/>";
    }

}

有什么想法吗?谢谢你们!

P.S。对不起,如果这是一个非常愚蠢的问题,我周一才开始学习PHP,我的编程经验有限:)

3 个答案:

答案 0 :(得分:4)

试试这样:

function br($break = 1){

}

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

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

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

答案 1 :(得分:1)

如果您希望默认为1 br,则可以执行以下操作:

function br($break = 1){

}

答案 2 :(得分:0)

根本不使用开关可能更容易,而是做这样的事情:

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

(未经测试)