php要求不按预期工作

时间:2013-05-19 22:30:50

标签: php

我刚开始玩php。我的第一个脚本工作正常:

<?php
echo "hello";
?>

当我需要以下外部php文件时,结果很奇怪:

<?php
require "gloo.php";
echo "hello";
?>

gloo.php包含一行文字:

$foo="foo1";

当我运行脚本时,浏览器会显示gloo.php的内容:

  

$富= “foo1” 你好

好像我输入了

echo "$foo='foo1'hello"

我做错了什么?谢谢你的帮助!

5 个答案:

答案 0 :(得分:2)

gloo.php包含一行文字:

$foo="foo1";

此文件还需要<?php?>标记。从你说的方式“包含一行文字”我认为不在那里。顺便说一下,结束?>标签是可选的。

答案 1 :(得分:2)

当PHP解析文件时,它会查找开始和结束标记,它们是<?php?>,它们告诉PHP开始和停止解释它们之间的代码。以这种方式解析允许PHP嵌入到各种不同的文档中,因为PHP解析器会忽略一对开始和结束标记之外的所有内容。

PHP还允许使用短标签<?和'?&gt;`(不鼓励它们,因为它们只有在使用short_open_tag php.ini配置文件指令启用时才可用,或者如果PHP配置了--enable -short-tags选项。

如果文件是纯PHP代码,则最好省略文件末尾的PHP结束标记。这可以防止在PHP结束标记之后添加意外的空格或新行,这可能会导致不必要的影响,因为当程序员无意在脚本中发送任何输出时,PHP将启动输出缓冲。

<?php $foo="foo1";

是最终结果。

来自php.net手册。

答案 2 :(得分:1)

即使您包含的文件也需要PHP代码块。

<?php
   ...

答案 3 :(得分:1)

“gloo.php”:

<?php
  $foo = "foo1";
?>

不要忘记php;)

答案 4 :(得分:1)

gloo.php 中,内容是否包含在PHP标记内? .php文件中PHP标记之外的任何内容都被解析为HTML。

示例 - gloo.php;

<?php
     $foo = "foo1";
?>

除非您明确调用变量 $ foo

,否则不会显示任何内容

你也可以省略结束标记,并且它实际上是由许多开发人员推荐的,因为它在开发应用程序或php项目时排除了与空白有关的任何问题。 (这可能是一个问题)