首页 > 解决方案 > $my_role = ( $user == "AS") ?8:10;

问题描述

您好我正在尝试修改这行 php 并向其添加另外两个值

$my_role = ( $user == "AS") ? 8 : 10;

我想添加值 16 和 17

我试过了

$my_role = ( $user == "AS") ? 8 : 10 : 16 : 17;

但这会导致

语法错误,意外的“:”

有人可以帮忙吗?

更新:感谢您的评论 - 是的,我设法发现这是一个三元运算符,并且向它添加更多值是荒谬的 - PHP 运算符“?”是什么?和“:”被称为,他们做什么?

标签: php

解决方案


该表达式$my_role = ( $user == "AS") ? 8 : 10;是一个三元表达式,相当于如下代码:

if($user == "AS") {
   $my_role = 8;
} else {
   $my_role = 10;
}

在这种情况下,$my_role = ( $user == "AS") ? 8 : 10 : 16 : 17;或“添加两个进一步的值”没有任何意义。


推荐阅读