数组内的IF条件

Luc*_*nto 1 php yii

在尝试使用if内部条件array,但它不起作用.我该如何解决这个问题?

码:

public function behaviors()
{
    return array(
        'withRelated'=>array(
            'class'=>'ext.wr.WithRelatedBehavior',
        ),
        Yii::app()->controller->id != 'apiv1' ?
        'datetimeI18NBehavior'=>array(
            'class' => 'ext.DateTimeI18NBehavior',
        ), : false,
    );
}
Run Code Online (Sandbox Code Playgroud)

错误:

Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in .../models/Users.php on line 77
Run Code Online (Sandbox Code Playgroud)

Kal*_*esh 5

这是解决问题的正确方法.

public function behaviors()
{
    $arr = array(
        'withRelated'=>array(
            'class'=>'ext.wr.WithRelatedBehavior',
        )        
    );
    $bool = Yii::app()->controller->id != 'apiv1' ? true : false;
    if($bool) {
        $arr['datetimeI18NBehavior'] = array(
            'class' => 'ext.DateTimeI18NBehavior',
        );
    } else {
        $arr[] = false;
    }
}
Run Code Online (Sandbox Code Playgroud)