dongtiao2105 2014-05-27 20:35
浏览 43
已采纳

PHP初始化函数参数中的变量

I've been looking through idiorm, which is used in a project that I'm working on and I keep seeing parameters be given a value. I'm somewhat familiar with this being done in python where you can set default values for parameters, not sure if that's what happening here though.

Example:

public static function for_table($table_name, $connection_name = self::DEFAULT_CONNECTION) {
            self::_setup_db($connection_name);
            return new self($table_name, array(), $connection_name);
        }
  • 写回答

1条回答 默认 最新

  • dongshanya2008 2014-05-27 20:40
    关注

    According to the PHP documentation on function arguments...

    A function may define C++-style default values for scalar arguments as follows:

    function makecoffee($type = "cappuccino")
    {
        return "Making a cup of $type.
    ";
    }
    echo makecoffee();           // Making a cup of cappuccino.
    echo makecoffee(null);       // Making a cup of .
    echo makecoffee("espresso"); // Making a cup of espresso.
    

    PHP also allows the use of arrays and the special type NULL as default values, [...]

    The default value must be a constant expression, not (for example) a variable, a class member or a function call.

    Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?