只有在PHP中有值时才将变量添加到数组中?
发布时间:2020-12-13 16:56:25 所属栏目:PHP教程 来源:网络整理
导读:我将变量传递给Yii2框架中的索引视图.我有以下代码: return $this-render('index',array( 'userresult' = $userresult,'topresult' = $topresult,'result' = $result)); 如果用户已登录,我只需要传递变量$userresult,因为如果用户未登录,则$userresult变量
我将变量传递给Yii2框架中的索引视图.我有以下代码:
return $this->render('index',array( 'userresult' => $userresult,'topresult' => $topresult,'result' => $result )); 如果用户已登录,我只需要传递变量$userresult,因为如果用户未登录,则$userresult变量不存在.这是我尝试过但我无法运行if语句: return $this->render('index',array( if (!Yii::$app->user->isGuest) { echo "'userresult' => $userresult"; },'result' => $result )); 怎么能实现这一目标? 解决方法
其中一种方法:
// Initial array $params = [ 'topresult' => $topresult,'result' => $result,]; // Conditionally add other elements to array if (!Yii::$app->user->isGuest) { $params['userresult'] = $userresult } return $this->render('index',$params); 将echo与数组混合显然是错误的.您应该在PHP中了解有关数组的更多信息. 你也可以忘记array()语法,使用较短的变异[]因为Yii2需要PHP> = 5.4. 而且我认为最好传递null: return $this->render('index',[ 'userresult' => $userresult ?: null,'result' => $result ]); 然后检查变量是否为null,或者只是查看($userresult){…}.我认为在视图中使用isset会更好.这样,参数号是不变的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |