跨文件的PHP全局变量

时间:2011-02-02 00:19:46

标签: php global

好吧,也许我的大脑只是被关闭了,但我无法让它发挥作用。

这是完整的代码:

page1.php中:

<?php
    $something = "hello";
    include "Page2.php";
?>

使page2.php:

<?php
    echo $something;
?>

所需的输出(导航到Page1.php时):

hello

实际输出为空白。我试过把global关键字放在任何地方,没有任何反应。我错过了什么吗?

4 个答案:

答案 0 :(得分:4)

我无法复制此错误,只是在我的localhost上尝试了这个并从此处复制并粘贴了您的代码。我怀疑你有某种语法错误。

启用错误报告,看看是否有任何错误。

答案 1 :(得分:1)

我知道这是一个迟到的答案,但我正在尝试做类似的事情。首先,当你回应一些东西时,你仍然必须把它放在“”中。只要你输入$,Php就会将它识别为变量。

其次,你在page1中包含了page2.php。很棒,但是page2无法识别$ something。现在,如果你以另一种方式执行它,在page2中声明$ something,然后在包含它之后从第1页调用它,它将运行。

修改变量需要其他东西......

答案 2 :(得分:1)

我认为输出来自page2.php。我对吗?这是因为您在page2.php中回显未设置的变量,您需要更改以下数据才能使其正常工作。 page1.php中

<?php
include("page2.php");
echo $something;
?>

使page2.php

<?php
$something="Hello";
?>

如果您将使用它并导航页面1.php,那么输出将是Hello

答案 3 :(得分:0)

我在本地(Windows)上运行时遇到类似的问题,其中数组的值没有超出同一进程中的include。

将包含路径从 http://localhost/www/example.php 切换到 C:/www/example.php 之后,现在工作正常。