在PHP中,是否可以在for循环中使用三元运算符?
我正在创建一个简单的单页网页,并希望使用for循环来输出导航链接。我在将阶段编号(在PHP中,是否可以在for循环中使用三元运算符?,php,html,loops,Php,Html,Loops,我正在创建一个简单的单页网页,并希望使用for循环来输出导航链接。我在将阶段编号($x)与字符串配对时遇到问题 最终输出预计为/应为: 第一阶段,利兹维多利亚桥 第二阶段,第二阶段位置 第三阶段,第三阶段位置 第4阶段,任何其他 第5阶段,任何其他 然而,输出是有限的 第1阶段,第3阶段位置 第二阶段,第三阶段位置 第三阶段,第三阶段位置 第4阶段,任何其他 第5阶段,任何其他 我也不太确定我错在哪里了 我已经尝试使用if/else语句,如下所示 阶段 由于某种原因,它导致$
$x
)与字符串配对时遇到问题
最终输出预计为/应为:
- 第一阶段,利兹维多利亚桥
- 第二阶段,第二阶段位置
- 第三阶段,第三阶段位置
- 第4阶段,任何其他
- 第5阶段,任何其他
- 第1阶段,第3阶段位置
- 第二阶段,第三阶段位置
- 第三阶段,第三阶段位置
- 第4阶段,任何其他
- 第5阶段,任何其他
阶段
-
由于某种原因,它导致$x
重复过去21次,并阻止加载所有其他页面元素。下面是我目前使用的三元运算符,似乎无法找出缺陷所在
阶段
-
亲切问候问题在于您的if中的操作员 您使用的是=而不是= 改用这个:
<!-- vertical nav -->
<nav class="v-nav p-4">
<p class="title">Stage</p>
<ul>
<?php
for ($x = 1; $x <= 21; $x++) {
if ($x == 1) {
$place = 'Victoria Bridge, Leeds';
} else if ($x == 2) {
$place = 'Victoria Bridge 2, Leeds';
} else {
$place = 'test'
}
?>
<li>
<a href="#stage<?php echo $x ?>" data-number="<?php echo $x ?>">
<span class="label">Stage <?php echo $x ?> - <?php echo $place ?></span>
<span class="dot"></span>
</a>
</li>
<?php } ?>
</ul>
</nav>
阶段
-
对于第一个运算符比较错误,请使用=
而不是=
if ($x == 1) {
$place = 'Victoria Bridge, Leeds';
} else if ($x == 2) {
$place = 'Victoria Bridge 2, Leeds';
} else {
$place = 'test'
}
对于三元运算符,请分别使用正确的括号“打开”和“关闭”
for ($x = 1; $x <= 21; $x++) {
$place = ($x == 1 ?'Victoria Bridge, Leeds' :
($x == 2 ? 'Second Stage Location' :
($x == 3 ? 'Third Stage Location' : 'Any Other')
)
);
echo $place.'<br>';
}
for($x=1;$x在第一组代码中如果($x=1)
赋值为1,但测试结果不等于1。此外,对于嵌套的三元运算符,您确实需要括号。更好的做法是使用开关而不是多个条件。或者使用stage作为键,文本作为值,将stage放入数组中。。。