php - PHP 中的嵌套 foreach 产生与我预期不同的结果

标签 php foreach

我在同一个数组上迭代两次时遇到问题:

<? $indice=0 ?>
<?php foreach ($comisiones as $comision1):?>  
  <tr>  
    <td><?php echo ++$indice ?></td>  
    <td><?php echo tag('select',array('name'=>'comision_'.$indice),true)?>  
          <?php foreach ($comisiones as $comision2):?>  
            <option value="<?php echo $comision2->getId()?>">
               <?php echo $comision2->getNombre()." - ".$comision2->getDescripcion()?> 
            </option>
          <?php endforeach?> 
        </select>
    </td>
  </tr>
<?php endforeach?>  

上面的代码打印:

code result

我期待看到这样的东西(图像中组合的标签不一样,但我认为这个想法很清楚):

expected results

提前致谢

最佳答案

我的第一个建议是不要使用 foreach 循环。我相信 PHP 正在使用一些内部指针,因此两个 foreach 循环会影响彼此的位置。而是使用普通的 for 循环。

关于php - PHP 中的嵌套 foreach 产生与我预期不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533249/

相关文章:

php - 有效地保存表中的数据,并且易于检索和回显

java - 动态生成变量名

php - 添加第二个 WHERE 子句或使用 PHP 解析结果?

php - apache 可以从 PHP 写入但不会提供文件的目录

javascript - forEach 中的上下文

phpspec 根据 psr-4 命名空间规范在错误的文件夹中创建文件

java - 我可以将 long 类型的一维数组元素类型转换为 int 吗?

php - 是否可以在 PHP 关联数组中重新分配created_at 键?

c++ - delete-keyword 在这个 for-each 循环中是如何工作的?

javascript - 将 forEach() 方法更改为 For 循环以与 IntersectionObserver 一起使用 - Javascript