我有这段代码
<?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"吗?