我在php中有一个foreach循环。
当循环大于2项时,我想显示一些文本而不是循环。这可能吗?
例如:2个或更少项目的循环显示= item 1,item2
更多项目的循环显示text = Mulitple items。
指示的示例代码:
$count++;
foreach($attValConfig as $attValConfigSingle) {
if ($attValConfigSingle["frontend_label"] == "LABELTEXT") {
echo ('<div class="attributes_row">Text</div>');
foreach($attValConfigSingle['values'] as $attValConfigSingleVal) {
if ($count++ > 2) { echo 'SomeNewText'; }
else echo "<option>"list of items"</option>";
答案 0 :(得分:4)
我想你想在if语句中break
:
if ($count++ > 2) {
echo 'SomeNewText';
break;
}
答案 1 :(得分:1)
在循环之前你可以count
数组:
if(count($attValConfigSingle['values']) > 2) {
// More than 2 items
echo "Lots of things";
} else {
// 2 items or less
foreach($attValConfigSingle['values'] as $value) {
// ...
}
}
也许我没有正确理解你。如果你想要文字:
第1项,第2项,其他项目......
然后你需要使用break
来摆脱你的循环:
foreach($attValConfigSingle['values'] as $attValConfigSingleVal) {
if ($count++ > 2) {
echo 'SomeNewText';
break;
} else {
echo "<option>"list of items"</option>";
}
}
答案 2 :(得分:0)
只需声明一个变量,用于存储在foreach循环期间构建的文本。当你不在时,如果count小于3则打印此字符串,否则打印另一个文本。