对不起,我知道这是一个非常简单的问题,但我在这里搜索过,并试图让谷歌成为我的朋友无济于事。
我想知道作为函数参数的变量赋值在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
值立即生效在将值传递给函数之前覆盖,但我无法在任何地方找到有关此内容的信息。
感谢您的帮助!
答案 0 :(得分:3)
http://php.net/manual/en/functions.arguments.php
函数可以为标量参数定义C ++样式的默认值 如下:
如果没有传入任何内容,变量默认为参数中设置的任何内容,例如在c ++中。 如果您没有为参数赋值,它将使用您定义的默认值。 您为参数传入的任何值都将覆盖默认参数。
答案 1 :(得分:1)
您为该参数指定了默认值。如果您在没有值的情况下调用方法,则假定FALSE为$ slug的默认值。
答案 2 :(得分:0)
在此示例中,$ slug被赋予默认值。如果你不改变它,它会在第一个if()中查询没有slugs的新闻。如果你把一些东西作为参数,它将使用slug作为参数进入第二个查询。