将null传递给可变参数函数

时间:2014-04-29 09:19:18

标签: php null variadic-functions variadic

我有这段代码:

function basket_admin_tabs( $current = 'edit' ) {
    if ($current==null)
        $current='edit';

有没有办法让PHP识别null为无参数?告诉功能两次相同的信息似乎很奇怪。

@edit

我不知道自己是否正确表达自己。该函数正在使用参数来了解要使用的选项卡。如果参数未设置或为空,我希望它能够编辑'。

2 个答案:

答案 0 :(得分:2)

不,null只是一个有效的值作为参数。

您可以设置默认值,如下所示:

function basket_admin_tabs( $current = 'edit' ) {
  $current = $current ? $current : 'edit';
}

// after php 5.3
function basket_admin_tabs( $current = 'edit' ) {
  $current = $current ?: 'edit';
}

答案 1 :(得分:1)

这就足够了。

/**
 * defaults to 'edit'
 * 
 * @param null $current
 */
function basket_admin_tasks($current = null)
{
    $current = ($current == null ? 'edit' : $current);
}

或者这个:

/**
 * @var string
 */
private $current = 'edit';

/**
 * @param $current
 */
public function basket_admin_tasks($current)
{
    $this->current = $current;
}