PHP include_once добавление завершающего 1 на страницу - PullRequest
2 голосов
/ 22 февраля 2012
$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

и т. Д.Может, какая-нибудь добрая душа скажет мне, откуда эта 1?И как от этого избавиться?Я был бы очень благодарен.Та Рич

Ответы [ 5 ]

5 голосов
/ 22 февраля 2012

Не echo include_once, просто include_once.1 - это echo ed возвращаемое значение вызова include_once.

2 голосов
/ 22 февраля 2012

«истинное» логическое значение, преобразованное в строку, станет «1»

, поэтому возвращаемый результат вызова функции include, которая по умолчанию возвращает true, будет преобразован в «1» при его отображении

так, не повторяйте include ();используйте просто include ();


другую информацию, вот правильное использование echo с include:

inc.php:

<?php return "hello there"; ?>

page.php:

<?php
 include("inc.php"); // no output here
 echo include("inc.php"); // hello, output!
?>
1 голос
/ 22 февраля 2012

include_once возвращает true, что равно 1, поэтому, когда у вас есть echo (include_once ...), вы фактически вводите echo "1", поэтому просто используйте include_once.

0 голосов
/ 22 февраля 2012

Попробуйте ниже:

   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 ....

0 голосов
/ 22 февраля 2012

1 - это возвращаемое значение функции include_once (да, это функция).

Он вернет true (1), если файл существует, и false (0), если он не существует.

Так что просто не повторяйте include_once и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...