2013-04-02 37 views
2

如何在echo中插入printf註釋?我一直試圖弄清楚過去一小時,我試過的每件事情都會導致不同的錯誤。printf inside echo

下面是我試過的代碼的最後一個版本。

<?php 
$i = 0; 
do { 
    echo "<li><a class=\"th radius\" href=\"img/coolstuff/" . printf("%03d", $i); . ".jpg\"><img src=\"img/coolstuff/" . printf("%03d", $i); . ".jpg\"></a></li>"; 
    $i++; 
} while ($i < 282); 
?> 

回答

2

.之前取出;,否則你終止發言。

此外,printf直接輸出字符串,這將使它出現在輸出字符串的開始。您需要改爲sprintf

2

改爲使用sprintf()。它返回格式化的字符串,而不是輸出它。

而且,@Kolink提到,刪除分號,所以你的迴音是這樣的:

echo "<li><a class=\"th radius\" href=\"img/coolstuff/" . sprintf("%03d", $i) . ".jpg\"><img src=\"img/coolstuff/" . sprintf("%03d", $i) . ".jpg\"></a></li>"; 
+1

你發現了一件事,我發現了另一件事:p團隊合作! –

+0

現在我們都結合了答案。讓我們看看哪一個被接受;) –

0

這樣做:

echo "<li><a class=\"th radius\" href=\"img/coolstuff/" , printf("%03d", $i); 

注意逗號,,而不是點.

當與echo聲明一樣使用逗號時,如上所述,首先評估每個聲部。至少根據this accepted anwer.

+0

工程奇蹟在我的repl。 –