是否可以在 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>";
}
}
?>
我阅读了其余文档;并继续;但它似乎不适用于此要求。
<?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>";
}
}
?>