2017-03-10 21 views
1

這可能很瘋狂,但我想這可能是一種簡單的方法來做到這一點,而無需在一個PHP行上使用循環...過度優化樂趣!PHP重複HTML元素而不使用循環

$stars = 4; // four out of ten stars 

打印恆星環

for($i=0;$i<$stars;$i++){ 
echo "<i class='fi-star'></i>"; 
} 

打印無環

<?=implode("",array_fill(0,$stars,"<i class='fi-star'></i>"))?> 

有沒有簡單的方法?

+0

您可以使用'str_repeat' – Sysix

+4

*「過度優化的樂趣!」*簡單的for循環可能比您的* fancy *單行程更快。 – Rizier123

+2

任何你這樣做的方式都可能涉及代碼中某個點的循環,可能在幕後,所以我不知道這是否會優化。 – Carcigenicate

回答

4

是的,您可以使用str_repeat函數。

在你的情況,你可以使用它像這樣:

echo str_repeat("<i class='fi-star'></i>", $stars); 

請注意,這不會使你的代碼的任何更有效。這只是一種簡單的方法,就像你在for循環中做的一樣。