2011-04-14 4 views
2

私は私の問題は、ループが続くよう$list["tags"][$i]["title"]=='list'が、私はメッセージ「正しくない型」を何度も取得するときにということで、コードforループ内にテキストをエコーするにはどうすればいいですか?

<?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 } 
    } 
?> 

のこの作品を持っています。そのメッセージを一度しかエコーすることはできませんか?

答えて

1

あなたはちょうどあなたがすでにそれを示すかたかどうかを追跡する必要があります:

$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のすべての値に対して「正しくないタイプ」を表示したくないですか?

+0

あなたはそうですが、最初のタイトルが 'リスト'の場合は、すべての次のタイトルも 'リスト'になります。答えはThanx。それは素晴らしい作品です! –

1

echo文の後にbreak;を挿入すると、条件が満たされたときにループを終了できます。 break n;を使用して、nのループ/条件のレイヤーから抜けてください。

関連する問題