如何使循环内的变量在PHP其他地方可用

时间:2016-05-16 01:19:32

标签: php html css

我有这个复杂的代码,它使用PHP =>

的循环在div中写入数组的内容
<div class="row"  >
<?php for ($b=0; $b<=($uz-1); $b++) { ?>
<a <?php if($b<($uz-1)){ 
echo "href";} ?>="<?php echo site_url('welcome/index/hamleno/'.($b+1).''); ?>">
<?php echo $hml[$b]."  "; ?></a> <?php } ?>
</div>

我遇到的问题是我需要在开始div内部比较循环外的$ b,例如this =&gt;

<div class="row <?php if( $b==$ti){echo "some-class"} ?> ">

我无法找到一种别致的方式;有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

对于初学者,在你的例子中使用for循环并初始化像$b这样的计数器时,这个计数器在循环开始时创建,并在循环退出时被销毁。您无法在其他地方访问它,尤其是在循环创建它之前,我认为您不想这样做。这为您提供了两种可能的解决方案:

  1. 在循环结束前将值复制到外部变量,然后可以检查循环外的值。 (虽然只在循环之后)
  2. OR

    1. 事先创建$b,在循环之前查看它,然后使用while循环并手动递增$b作为计数器。由于您在循环外创建它,它仍然存在并且可以在循环之前,期间和之后引用。这是一个例子:

      <div class="row">
      
        <?php
           $b = 0;
      
           if ($b == $ti) { echo "some-class"; }
      
           while ($b <= ($uz-1)) 
           {
              echo '<a ';
              if ($b < ($uz-1)){ echo 'href'; }
              echo '="';
              echo site_url('welcome/index/hamleno/'.($b+1)), '">';
              echo $hml[$b], "  ", '</a>';
              ++$b;
           }
        ?>
      
      </div>