2

如何在 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);
?>
4

3 回答 3

2

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

此外,printf直接输出字符串,这将使其出现在输出字符串的开头。你想要sprintf

于 2013-04-02T15:39:26.470 回答
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>";
于 2013-04-02T15:39:30.940 回答
0

这样做:

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

注意逗号,而不是点.

当使用逗号和echo语句时,像上面一样,首先评估每个部分。至少根据这个公认的答案。

于 2013-04-02T15:39:37.833 回答