php 中这两种类型的 foreach() 循环之间的技术区别?
Technical difference between these two types foreach() loops in php?
foreach ($array as $value) {
code to be executed;
}
VS
<?php foreach($arr as $item):?>
<!--do stuff -->
<?php endforeach; ?>
我在使用 foreach(){...}
循环时主要使用 brackets
,但是 foreach(): ... endforeach;
循环有什么用?
这两种类型 foreach(){} vs foreach():...endforeach;
之间有什么区别还是它们在 php 中相同?
我们在什么情况下使用它们或者它们之间有什么技术差异?
哪一个是循环结果集的更好方法?
谢谢你的帮助。
它们完全相同,但两种不同的语法。
PHP offers an alternative syntax for some of its control structures;
namely, if, while, for, foreach, and switch. In each case, the basic
form of the alternate syntax is to change the opening brace to a colon
(:) and the closing brace to endif;, endwhile;, endfor;, endforeach;,
or endswitch;, respectively.
参考 : https://php.net/manual/en/control-structures.alternative-syntax.php
第一个用于执行纯 php 代码。
第二个对于输出HTML很有用,可以看到,<!--do stuff -->
是一个HTML评论
阅读我的评论。这些输出相同的东西:
必须回显或打印
<?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; ?>
foreach ($array as $value) {
code to be executed;
}
VS
<?php foreach($arr as $item):?>
<!--do stuff -->
<?php endforeach; ?>
我在使用 foreach(){...}
循环时主要使用 brackets
,但是 foreach(): ... endforeach;
循环有什么用?
这两种类型 foreach(){} vs foreach():...endforeach;
之间有什么区别还是它们在 php 中相同?
我们在什么情况下使用它们或者它们之间有什么技术差异?
哪一个是循环结果集的更好方法?
谢谢你的帮助。
它们完全相同,但两种不同的语法。
PHP offers an alternative syntax for some of its control structures; namely, if, while, for, foreach, and switch. In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.
参考 : https://php.net/manual/en/control-structures.alternative-syntax.php
第一个用于执行纯 php 代码。
第二个对于输出HTML很有用,可以看到,<!--do stuff -->
是一个HTML评论
阅读我的评论。这些输出相同的东西:
必须回显或打印
<?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; ?>