PHP include_once将尾随1添加到页面

时间:2012-02-22 00:41:56

标签: php include

$num = 39; //sets number of weeks - there are only 38 rounds so 39 is fine
$num2 = $num-1; //for adding the previous weeks table - rest of code not added yet 

while($num > 0) // set to 0 so that when it reaches week 1 it stops
{
    if ( file_exists('./results/week'.$num.'.html'))  
    {
        echo '<h1>week '.$num.'</h1>';
        echo (include_once('./results/week'.$num.'.html'));
        $num = $num - 1;
    }
    else
    {
        $num = $num - 1;
    }
}

您好 我正在尝试向页面添加一些表格(html文件),这段代码似乎可以正常工作,但是它会在每个表格的末尾添加1,所以我得到了:

Week 3
Name  Result
John  4
Bob   3
1
Week 2
Name  Result
Bob   6
John  1
1

等。 请问某种灵魂请告诉我这个来自哪里?以及如何摆脱它? 我非常感激。 Ta Rich

5 个答案:

答案 0 :(得分:5)

不要echo include_once,而只是include_once。 1是echo调用的include_once ed返回值。

答案 1 :(得分:2)

转换为字符串的“true”布尔值将变为“1”

所以返回include函数调用,默认返回true, 当你回音时它将被转换为“1”

所以,不要回显include();只使用include();


另一个信息,这里是echo的正确用法,包括:

inc.php:

<?php return "hello there"; ?>

page.php文件:

<?php
 include("inc.php"); // no output here
 echo include("inc.php"); // hello, output!
?>

答案 2 :(得分:1)

include_once返回true,等于1,所以当你有echo(include_once ...)时,你实际上放入echo“1”,所以只需使用include_once。

答案 3 :(得分:0)

1是函数include_once的返回值(是的,它是一个函数)。

如果文件存在则返回true(1),如果不存在则返回false(0)。

所以只是不要回复include_once,你就完成了。

答案 4 :(得分:0)

尝试以下:

   while($num > 0) // set to 0 so that when it reaches week 1 it stops
    {
    if ( file_exists('./results/week'.$num.'.html'))  
    {
    echo '<h1>week '.$num.'</h1>';
    include_once('./results/week'.$num.'.html');
    $num = $num - 1;
    }
    else
    {
    $num = $num - 1;
    }
    }

不要回复include_once ....