2012-02-12 11 views
0

配列から項目を取得しようとしています。それでは、私のリストがどのように見えるのですか?ここで配列から項目を取り出してループに入れます

は私のアイテムが

fruits[apple] = 'apple'; 
fruits[grapes] = 'grapes'; 
fruits[banana] = 'banana'; 

animals[dog] = 'dog'; 
animals[cat] = 'cat'; 
.... 

ようになり、私のループは次のようになりますものです。

<ul> 
    <li> <a href="fruits/<?php echo $fruits ?>"><?php echo $fruits ?></a> </li> 
</ul> 

答えて

4
if(is_array($fruits) && count($fruits) > 0){ 
    echo "<ul>\n"; 
    foreach($fruits as $fruit){ 
     echo "<li><a href=\"fruits/".$fruit."\">".$fruit."</a></li>\n"; 
    } 
    echo "</ul>\n"; 
} else { 
    echo "No Fruits :("; 
} 

最も簡単な!

あなたはあまりにも動物と同じことを行うことができます...ので、あなたは、代替とIMOよりよく見ることができるクリーナー構文

+0

が追加参照するには簡単なチェックに何かがあれば、そうでなければエラーが出る – MrJ

+0

これは私のために働く!ありがとう... prodigitalsonも良いアプローチです。 – Pennf0lio

2

MRJは、すでにあなたに答えを与えたが、イムはこれを投稿:さらに良い

<?php if(count($fruits)): // dont output unless we actually have fruits! ?> 
    <ul> 
    <?php foreach($fruits as $fruit): ?> 
    <li><a href="fruits/<?php echo $fruit ?>"><?php echo $fruit ?></a></li> 
    <?php endforeach; ?> 
    </ul> 
<?php endif; ?> 

を我々はまだHTMLを生成するために狂気の文字列連結を回避しながらにして、PHPのうち、スイッチング保つために持っていけないので、リンクを作成するためにprintfを使用することです:

<?php if(count($fruits)): // dont output unless we actually have fruits! ?> 
    <ul> 
    <?php foreach($fruits as $fruit): ?> 
    <li><?php printf('a href="%s">%s</a>', $fruit, $fruit) ?></li> 
    <?php endforeach; ?> 
    </ul> 
<?php endif; ?> 
+0

+1可読性のため – Josh

+0

良い選択肢!ありがとう.. – Pennf0lio

関連する問題