变量赋值用作函数的参数在PHP中意味着什么?

时间:2012-03-09 17:11:23

标签: php codeigniter

对不起,我知道这是一个非常简单的问题,但我在这里搜索过,并试图让谷歌成为我的朋友无济于事。

我想知道作为函数参数的变量赋值在PHP中是做什么的。具体来说,我在Codeigniter文档中找到了这个例子:

public function get_news($slug = FALSE)
{
    if ($slug === FALSE)
    {
        $query = $this->db->get('news');
        return $query->result_array();
    }

    $query = $this->db->get_where('news', array('slug' => $slug));
    return $query->row_array();
}

基本上,这是一个控制器类的方法,它应该向具有参数的控制器“News”接受任何请求,并查询db以查看是否存在具有与该参数匹配的slug的新闻项。

我的猜测是,这会将变量$slug初始化为FALSE,但如果用户正在传递方法的实际“slug”参数,则FALSE值立即生效在将值传递给函数之前覆盖,但我无法在任何地方找到有关此内容的信息。

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

http://php.net/manual/en/functions.arguments.php

  

函数可以为标量参数定义C ++样式的默认值   如下:

如果没有传入任何内容,变量默认为参数中设置的任何内容,例如在c ++中。 如果您没有为参数赋值,它将使用您定义的默认值。 您为参数传入的任何值都将覆盖默认参数。

答案 1 :(得分:1)

您为该参数指定了默认值。如果您在没有值的情况下调用方法,则假定FALSE为$ slug的默认值。

答案 2 :(得分:0)

在此示例中,$ slug被赋予默认值。如果你不改变它,它会在第一个if()中查询没有slugs的新闻。如果你把一些东西作为参数,它将使用slug作为参数进入第二个查询。

相关问题