>有谁知道为什么当我执行这个:
#!/usr/bin/php
<?php
$eff_theo = array_fill(0, 10, 100);
for ($i = 0; $i < 10; ++$i)
echo printf("%5d", $eff_theo[$i]).' ';
echo PHP_EOL;
?>
我得到这个:
1005 1005 1005 1005 1005 1005 ...
你混合了echo
和printf
。
printf
返回格式化字符串的长度,因此您的echo
调用将打印出"5"。
尝试删除echo
,然后重试....
printf 返回您创建的字符串的长度,请选择
echo sprintf(...)
或者只是
printf(...)
没有回声
printf 是一个函数,它将给定的文本输出到标准输出并返回输出字符串的长度。
echo 是一种用于输出数据的语言结构。 最终,您将在printf
输出其值后回显printf
语句的返回值。
要么使用 echo
要么使用 printf
,但不能同时使用两者。