PHP使用三元运算符选择动态选项

PHP使用三元运算符选择动态选项,php,ternary-operator,Php,Ternary Operator,我使用三元运算符方法为select selectbox编写了以下代码: Ternary operator let us return one of two values based on a given condition. It’s syntax is like below. (expression)?(if expression is true):(if expression is false) 霉菌代码: <select class="form-control contentgr

我使用三元运算符方法为select selectbox编写了以下代码:

Ternary operator let us return one of two values based on a given condition. It’s syntax is like below.

(expression)?(if expression is true):(if expression is false)
霉菌代码:

<select class="form-control contentgroup input-sm" name="access">
<option value="1" <?php echo ($access = 1) ? 'selected' : ''; ?>>1</option>
<option value="2" <?php echo ($access = 2) ? 'selected' : ''; ?>>2</option>
<option value="3" <?php echo ($access = 3) ? 'selected' : ''; ?>>3</option>
</select>

>2

这是个打字错误。您使用的是赋值运算符
=
,而不是比较运算符
=
==

<option value="1" <?php echo ($access == 1) ? 'selected' : ''; ?>>1</option>
<option value="2" <?php echo ($access == 2) ? 'selected' : ''; ?>>2</option>
<option value="3" <?php echo ($access == 3) ? 'selected' : ''; ?>>3</option>
>2

使用等价运算符而不是赋值运算符:

<option value="1" <?php echo ($access == 1) ? 'selected' : ''; ?>>1</option>
<option value="2" <?php echo ($access == 2) ? 'selected' : ''; ?>>2</option>
<option value="3" <?php echo ($access == 3) ? 'selected' : ''; ?>>3</option>
>2

查看您的比较操作(
=
),它不正确。请将条件中的等号更改为双等号($access==1)?'选定':'';此外,你并不需要三元运算符。一个简单的
if()
就足够了<代码>+1
Wow。。。你真快!她就是这么说的(-1来自我女朋友)哈哈。什么?哈哈<代码>:P
<option value="1" <?php echo ($access == 1) ? 'selected' : ''; ?>>1</option>
<option value="2" <?php echo ($access == 2) ? 'selected' : ''; ?>>2</option>
<option value="3" <?php echo ($access == 3) ? 'selected' : ''; ?>>3</option>