Foreach循环-如果大于count或else


foreach loop - if greater than count or else

php中有一个foreach循环

当循环大于2项时,我想显示一些文本而不是循环。这可能吗?

例如:包含2个或更少项目的循环显示= item 1, item2

包含更多条目的循环显示text = multiple 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>";

我认为你想在你的if语句中使用break:

if ($count++ > 2)   { 
    echo 'SomeNewText'; 
    break;
}

您可以在循环之前对数组进行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>";
    }
}

只需声明一个变量,用于存储foreach循环期间生成的文本。当你用完后,如果count小于3,打印这个字符串,否则打印其他文本。