修复!
我有2个php页面,它们都将变量“title”定义为不同的东西。但是,在两个页面上回显变量会导致第一页的变量值显示在两个页面上。知道为什么以及如何为每个页面更改变量?
第一个php页面:
<?php
$title = "Posts";
echo $title;
?>
显示“帖子”。
第二个php页面:
<?php
$title = "New Posts";
echo $title;
?>
这也出于某种原因显示“帖子”。这个页面不应该显示“新帖子”吗?
答案 0 :(得分:0)
如果您在之前的第一页上包含第二页,则在第一页上定义$title
,则包含的值将被覆盖。
是否在全局命名空间中定义了所有变量?如果是这样,当您在其他PHP文件中包含PHP文件时,这个问题将不可避免。
您可以通过在类或命名空间中正确封装变量来解决问题;例如:
在文件一中:
<?php
namespace included;
$title = "original title!";
?>
在文件二中:
<?php
namespace including;
require_once "file_one.php";
$title = "new title!";
echo \included\$title;
echo \including\$title;
echo $title;
?>
将显示:
original title!
new title!
new title!