是否可以在 foreach 中包含一个元素并指示它不应在每个结果中重复?

Is it possible to include an element inside a foreach and indicate that it should not be repeated in each result?

我阅读了其余文档;并继续;但它似乎不适用于此要求。

<?php  
$colors = array("red", "green", "blue", "yellow"); 

foreach ($colors as $value) {
?><p>TITLE</p><?php
 echo "$value <br>";
}
?> 

输出:

TITLE
red

TITLE
green

TITLE
blue

TITLE
yellow 

我以为用 break or continue 是可以的,但是好像不是我需要的或者我没有完全理解。

我需要(包括 foreach 中的标题以避免像 if 条件这样的较长代码):

TITLE
red

green

blue

yellow 

你知道实现这个目标的正确方法吗?谢谢!

即使有了对问题的评论,我仍然不清楚为什么你不只是用一个简单的 if 来解决这一切。如果您 坚持 继续此设计,您可以检查 $index 您在 foreach 循环中迭代的当前项目,以及它是否是第一个一,echo TITLE 连同它:

<?php  
$colors = array("red", "green", "blue", "yellow"); 

foreach ($colors as $key=>$value) {
  if ($key === 0) echo "<p>TITLE</p>";
  echo "$value <br>";
}
?> 

然而,在我个人看来,如果您只是在此处对整个块进行门控,那么 可读性会更高:

<?php  
$colors = array("red", "green", "blue", "yellow"); 

if (count($colors) > 0) {
  echo "<p>TITLE</p>";
  foreach ($colors as $value) {
    echo "$value <br>";
  }
}
?>