我有一个循环。它回应了数组中的每个项目。但是,我想用一些自定义内容包装其中一个项目。目前,我可以做到这一点,但它不必要地重复它。这是我的循环:
$arr = array(1,2,3,4,5,6);
foreach ($arr as $key) {
if ($key == 5) {
echo 'wrap';
echo $key;
echo 'wrap';
}
echo $key;
}
产生:
1
2
3
4
WRAP
5
WRAP
5 <--- remove
6
如您所见,$key
5正在重复。我只需要在它被召唤时将其包裹一次。有没有办法只回显一次5
?
答案 0 :(得分:2)
正如当前编写的那样,echo
块之后的if
语句将在每次循环迭代时执行。您只希望$key
的值 不 5
时才会发生这种情况。所以使用else
块:
foreach ($arr as $key) {
if ($key == 5) {
echo 'wrap';
echo $key;
echo 'wrap';
} else {
echo $key;
}
}
答案 1 :(得分:1)
这个怎么样:
$arr = array(1,2,3,4,5,6);
foreach ($arr as $key) {
if ($key == 5) {
echo 'wrap';
echo $key;
echo 'wrap';
} else {
echo $key;
}
}
答案 2 :(得分:1)
是的,简单,只需添加&#39;否则&#39;语句:
$arr = array(1,2,3,4,5,6);
foreach ($arr as $key) {
if ($key == 5) {
echo 'wrap';
echo $key;
echo 'wrap';
} else {
echo $key;
}
}