php中这两种类型的foreach()循环之间的技术区别?

时间:2019-07-17 01:17:28

标签: php loops foreach difference

foreach ($array as $value) {
            code to be executed;
} 



VS



  <?php foreach($arr as $item):?>
        <!--do stuff -->
    <?php endforeach; ?>

在使用brackets循环时,我主要使用foreach(){...},但是foreach(): ... endforeach;循环的作用是什么?

这两种类型foreach(){} vs foreach():...endforeach;之间是否有区别,或者在php中它们是相同的?

以及在哪种情况下我们使用了它们,或者它们之间在技术上有什么不同?

哪种方法是循环结果集的更好方法?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

它们完全是同一事物,具有两种不同的语法

  

PHP为它的某些控制结构提供了一种替代语法。   即,是否 foreach ,然后进行切换。在每种情况下,基本   备用语法的形式是将左大括号更改为冒号   (:)以及endif;,endwhile;,endfor;, endforeach ;、   或endswitch;

参考https://php.net/manual/en/control-structures.alternative-syntax.php

答案 1 :(得分:0)

阅读我的评论。这些输出相同的东西:

必须回显或打印

<?php
$array = ['text1', 'text2', 'text3', 'text4'];
foreach($array as $value) {
  echo "<div>$value</div>";
}
?>

不需要回声或打印HTML (不是由PHP生成)

<?php foreach($array as $item): ?>
  <div><?php echo $item; ?></div>
<?php endforeach; ?>

启用了短标签(自PHP 5.4起,<?=?>不需要此标记)

<? foreach($array as $item): ?>
  <div><?=$item?></div>
<? endforeach; ?>

答案 2 :(得分:-1)

第一个用于执行纯PHP代码。

第二个对于输出HTML很有用,如您所见,<!--do stuff -->是HTML注释