printf内部回声


printf inside echo

如何在echo中插入printf注释?在过去的一个小时里,我一直在努力解决这个问题,但我所做的一切都会导致不同的错误。

下面是我尝试的代码的最后一个版本。

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

.之前删除;,否则将终止该语句。

此外,printf直接输出字符串,这将使其出现在输出字符串的开始处。您需要sprintf

请改用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>";

这样做:

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

请注意逗号,而不是点.

当在echo语句中使用逗号时,与上面一样,首先对每个部分进行求值。至少根据这个接受的答案。