如何在for循环中只回显一次文本


How to echo some text inside a for-loop only once?

我有这段代码

<?php for ($i=0;$i<sizeof($list["tags"]); $i++) {                    
    if ($list["tags"][$i]["title"]=='list') {
        echo 'Not correct type';
    }
    if ($list["tags"][$i]["title"]!='list') { 
?>
    <a href="...">Text</a>
<?php } 
    } 
?>

我的问题是,当$list["tags"][$i]["title"]=='list'时,随着循环的继续,我多次得到"不正确类型"的消息。我怎么能只重复一次呢?

可以在echo语句后插入break;,以便在满足条件时退出循环。使用break n;退出循环/条件的n层。

你只需要跟踪你是否已经显示了它:

$shown = false;
for ( $i = 0; $i < sizeof( $list['tags'] ); $i++ ) { 
    if ( $list['tags'][$i]['title'] == "list" && !$shown ) {
        echo "Not correct type";
        $shown = true;
    }
    if ( $list['tags'][$i]['title'] != "list" ) {
        echo '<a href="...">Text</a>';
    } 
}

但是这提出了一个问题:为什么你只希望消息显示一次?

如果标题不是"list",那么您不希望它显示$i的所有值为"Not correct type"吗?