PHP向后解决问题

时间:2012-12-03 15:30:07

标签: php

我想使用foreach循环遍历php scandir函数的结果,然后显示文件名和然后大小,但是当我使用代码时:

$scan = scandir("/home/foo");
foreach ($scan as $value) {
echo "$value" . "<br>" . filesize("/home/foo/$value") . " ";
}

我最终得到的是filesize值,然后是$ value,如下所示:

3337 Desktop
4096 Downloads
4096 Mail
4096 Scripts

这是为什么?以及如何使其按照与代码相同的顺序进行格式化,即。文件名,然后是文件大小?

2 个答案:

答案 0 :(得分:2)

您在值和文件大小之间有换行符(<br>),但在文件大小之后却没有。

因此,文件大小将在新行上显示为第一个,并且下一个元素的名称将显示在它旁边。所以它实际上是以正确的顺序输出东西;它只是在打印输出中看起来不那样。

解决方案:

交换字符串的"<br>"" "部分。

echo "$value" . " " . filesize("/home/foo/$value") . "<br>";

答案 1 :(得分:1)

<br>移到最后,这是换行符并开始换行。