foreach循环 - 如果大于计数或其他

时间:2011-12-23 16:04:00

标签: php foreach if-statement

我在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>";

3 个答案:

答案 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则打印此字符串,否则打印另一个文本。