php变量改变

时间:2011-04-11 01:22:15

标签: php variables

修复!


我有2个php页面,它们都将变量“title”定义为不同的东西。但是,在两个页面上回显变量会导致第一页的变量值显示在两个页面上。知道为什么以及如何为每个页面更改变量?

第一个php页面:

<?php
    $title = "Posts";
    echo $title;
 ?>

显示“帖子”。

第二个php页面:

<?php 
  $title = "New Posts";
  echo $title; 
?>

这也出于某种原因显示“帖子”。这个页面不应该显示“新帖子”吗?

1 个答案:

答案 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!