1

有谁知道为什么当我执行这个时:

#!/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 ...
4

3 回答 3

2

你正在混合echoprintf

printf返回格式化字符串的长度,因此您的echo调用将打印出“5”。

尝试删除并重echo试....

于 2012-06-18T15:24:02.603 回答
1

printf是一个将给定文本输出到标准输出并返回输出字符串长度的函数。

echo是一种用于输出数据的语言结构。最终,您在输出其值printf后回显语句的返回值。printf

要么使用echo要么printf,但不能同时使用两者。

于 2012-06-18T15:25:49.513 回答
1

printf 返回您创建的字符串的长度,选择任一

echo sprintf(...) 

要不就

printf(...)

没有回声

于 2012-06-18T15:24:59.717 回答