在PHP中,是否可以在for循环中使用三元运算符?

在PHP中,是否可以在for循环中使用三元运算符?,php,html,loops,Php,Html,Loops,我正在创建一个简单的单页网页,并希望使用for循环来输出导航链接。我在将阶段编号($x)与字符串配对时遇到问题 最终输出预计为/应为: 第一阶段,利兹维多利亚桥 第二阶段,第二阶段位置 第三阶段,第三阶段位置 第4阶段,任何其他 第5阶段,任何其他 然而,输出是有限的 第1阶段,第3阶段位置 第二阶段,第三阶段位置 第三阶段,第三阶段位置 第4阶段,任何其他 第5阶段,任何其他 我也不太确定我错在哪里了 我已经尝试使用if/else语句,如下所示 阶段 由于某种原因,它导致$

我正在创建一个简单的单页网页,并希望使用for循环来输出导航链接。我在将阶段编号(
$x
)与字符串配对时遇到问题

最终输出预计为/应为:

  • 第一阶段,利兹维多利亚桥
  • 第二阶段,第二阶段位置
  • 第三阶段,第三阶段位置
  • 第4阶段,任何其他
  • 第5阶段,任何其他
然而,输出是有限的

  • 第1阶段,第3阶段位置
  • 第二阶段,第三阶段位置
  • 第三阶段,第三阶段位置
  • 第4阶段,任何其他
  • 第5阶段,任何其他
我也不太确定我错在哪里了

我已经尝试使用if/else语句,如下所示


阶段

由于某种原因,它导致
$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放入数组中。。。