如何在没有计数的情况下打印数组

时间:2013-07-02 17:19:41

标签: php arrays

所以我正在尝试编写这个PHP脚本来输出文本文件中的差异。到目前为止,这是我的代码:

<?php
header('Content-type: text/plain');
$file1 = "list2.txt";
$file2 = "list1.txt";
$lines1 = file($file1, FILE_IGNORE_NEW_LINES);
$lines2 = file($file2, FILE_IGNORE_NEW_LINES);
$result = array_diff($lines2, $lines1);
print_r($result);
?>

我希望这能在没有[0] =&gt;的情况下回显剩余的单词。在每一行,我只想要这个词,而不是编号。我尝试过使用“pre”标签但它不起作用。

6 个答案:

答案 0 :(得分:1)

print_r主要用于调试目的,而不是显示。 你可以做到

foreach($result as $r) print($r);

OR

echo join(' ',$result);

答案 1 :(得分:1)

使用implodejoin功能

echo implode("\n", $result);

或者

echo join("\n", $result);

答案 2 :(得分:0)

你可以使用带有break html标签的php函数implode

如下所示

echo implode('<br>', $result);

请告诉我是否可以为您提供更多帮助。

答案 3 :(得分:0)

Print_r(和var_dump)主要用于调试输出。对于你的差异,你想做类似

的事情
print implode(PHP_EOL,$result);

如果您的输出标题是text / plain,那么HTML标记将不会呈现为HTML,但会在页面中显示为文本。

答案 4 :(得分:0)

你需要逐个获取数组元素。然后使用它。然后逐个获取每个元素你可以使用foreach:like

foreach($result as $x)
{
   echo $x;
}

答案 5 :(得分:0)

在处理大文件时使用文件可能效率不高....

$a = "list1.txt";
$b = "list2.txt";

$fpA = fopen($a, "r");
$fpB = fopen($b, "r");

$i = 0;

while(! feof($fpA)) {
    $i ++;
    $x = trim(fgets($fpA));
    $y = trim(fgets($fpB));
    if ($x !== $y) {
        printf("#%d: %s<br />\n", $i, $y);
    }
}

输出

#8: 2cc021a8f87e1defeb5d0a1d43a0FFFFF
相关问题