0

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

<?php
echo "hello";
?>

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

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

gloo.php 包含一行文本:

$foo="foo1";

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

$foo="foo1"你好

就好像我打字一样

echo "$foo='foo1'hello"

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

4

5 回答 5

2

gloo.php 包含一行文本:

$foo="foo1";

该文件还需要<?phpand?>标签。从你所说的“包含单行文本”的方式来看,我认为它不存在。顺便说一句,结束?>标签是可选的。

于 2013-05-19T22:32:59.323 回答
2

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

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

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

<?php $foo="foo1";

是最终结果。

来自 php.net 手册。

于 2013-05-19T22:33:36.343 回答
1

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

<?php
   ...
于 2013-05-19T22:33:12.027 回答
1

“gloo.php”:

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

不要忘记 php ;)

于 2013-05-19T22:34:04.530 回答
1

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

示例-gloo.php;

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

除非您明确调用变量$foo否则不会显示任何内容

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

于 2013-05-19T22:34:25.140 回答