2012-02-12 176 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 :("; 
} 

Simples!

你可以做同樣的動物太...

+0

添加簡單的檢查,看看如果有東西在那裏,否則會彈出一個錯誤 – MrJ 2012-02-12 20:39:21

+0

這適用於我!謝謝... prodigitalson也是一個好方法。 – Pennf0lio 2012-02-12 21:17:06

2

MRJ已經給了你答案,但即時通訊發佈此所以你可以看到替代和IMO更好,更清晰的語法:

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

更妙是使用printf創建鏈接所以我們沒有保持接通和斷開PHP的同時還避免瘋狂的字符串連接生成HTML:

<?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 2012-02-12 20:40:02

+0

不錯的選擇!謝謝.. – Pennf0lio 2012-02-12 22:31:50

相關問題