这是我的代码:
abc.php
<?php
for($i=1;$i<4;$i++){
echo include_once('text.php');
echo include('text.php');
}
?>
text.php
Hello World
返回输出:
Hello World1Hello World11Hello World11Hello World1
以上输出中的1
是什么?
答案 0 :(得分:1)
以下是所有迭代:
1) include_once: Hello World1 // include file echo automaticaly, and echo 1 (success)
include: Hello World1 // include file echo automaticaly, and echo 1 (success)
2) include_once: 1 // included already only success...
include: Hello World1
3) include_once: 1 // included already only success...
include: Hello World1
4) include_once: 1 // included already only success...
include: Hello World1
输出:Hello World1Hello World11Hello World11Hello World1
。
如评论中所述,包含自动回显代码,因此echo include
回显文件,并回显包含函数的返回值:)。这是真的= 1。
答案 1 :(得分:0)
1是include_once调用的返回值。如果包含include_once不存在的文件,则返回结果将为false。 如果您尝试使用include_once再次包含该文件,则返回值为true。
答案 2 :(得分:0)
从 include &amp;前面取出 echo 。的 include_once 强>
这是错误的
echo include_once(&#39; text.php&#39;);
echo include(&#39; text.php&#39;);
在前面放置 echo 这些函数只会返回是否找到并包含该文件。 jacek-kowalewski早些时候指出了这一点。虽然说包括自动回声可能会有些混乱。 include()将代码注入主文件,无论函数调用在哪里。包含文件的内容可能只是文本或它可能是更多的PHP代码。如果它是更多的代码,它将不会回显任何东西,除非调用echo函数。
我不明白对同一个文件使用包含和 include_once ? - text.php
使用 include_once()和 include()一起创建一个取消另一个的情况。 include_once(&#39; text.php&#39;)表示 text.php 只能在主脚本中包含 一次 EM> 即可。另一方面,Include将允许text.php包含与调用函数一样多的次数。但在这种情况下, text.php 不能多次调用,因为include_once()已经将规则设置为仅一次。 See Includes Canceling
如果您想要连续两次输出到网页的文字字符串,那么您应该将 echo 命令放在 text.php 文件中:
echo 'My String of Text';
echo 'My Second String of Text';
然后将 include_once 放入主脚本中:
include_once('text.php');
你可能想要像这样重写你的脚本:
for($i=0;$i<5;$i++){
echo 'Text '.$i.'<br />';
$i =$i+1;
echo 'Text '.$i.'<br />';
}
您的输出将是:
Text 0
Text 1
Text 2
Text 3
Text 4
Text 5