加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

只有在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会更好.这样,参数号是不变的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读