我试图遍历一个数组,并添加" active"类只到第一次迭代。
这是我到目前为止所尝试的但无法使其发挥作用。
<?php foreach ($env_list as $key): ?>
<?php $isFirst = true; ?>
<li class="<?php $isFirst ? 'active' : ?>"> <a data-toggle="tab" href="#<?php echo $key['env_name'] ?>" id="<?php echo $key['id'] ?>"> <?php echo $key['env_name'] ?></a></li>
<?php $isFirst = false; ?>
<?php endforeach ?>
非常感谢您的协助
答案 0 :(得分:4)
每次循环运行时,您都要设置$ isFirst = true。将该行放在for循环之外,这样就不会重置。
<?php $isFirst = true; ?>
<?php foreach ($env_list as $key): ?>
<li class="<?php $isFirst ? 'active' : ?>"> <a data-toggle="tab" href="# <?php echo $key['env_name'] ?>" id="<?php echo $key['id'] ?>"> <?php echo $key['env_name'] ?></a></li>
<?php $isFirst = false; ?>
答案 1 :(得分:1)
答案 2 :(得分:1)
在这段代码中,您基本上是在每次迭代时修改该布尔值(将其设置为true,然后将其设置为false)两次。假设您没有明确定义相关数组的键,请尝试使用此方法;
<?php foreach ($env_list as $envKey => $envValue): ?>
<li class="<?php $envKey == 0 ? 'active' : ?>"> <a data-toggle="tab" href="#<?php echo $envValue['env_name'] ?>" id="<?php echo $envValue['id'] ?>"> <?php echo $envValue['env_name'] ?></a></li>
<?php endforeach ?>
这将检查以确保您正在处理第一次迭代并相应地修改它。
我相信这有帮助。