2013-11-27 40 views
0

我是一个新手到php,我正在通过黑客入侵一些原型的moodle代码。我是否正确使用这些全局变量?

Anyhows我有一些数据Id就像从file1.php传递到file2.php,为此我使用全局变量。这些值在file2中初始化,我需要它们在file1中使用。下面是我如何去了解它

file1.php

<?php// top of file 1 

global $content; // discussion content // line 3 

file2.php

global $content;// line 3379 

    $content=$post->subject; 

早在file1.php

echo 'global scope'.$content; // this is always empty// line 168 

我在这里失去了一些东西? 附加的文件file1.phpfile2.php

+1

号这是不对的。每个PHP脚本都是自己的小宇宙,并且在下一个请求中设置为一个的变量将不会被另一个可见。您需要使用会话或其他方式来保存数据。 –

+2

不,你没有正确使用'global'关键字。你可能打算做'//全球'。 – PeeHaa

+2

哈哈PeeHaa!我把它看作是全球性事件的评论,它是一个腐朽的死亡陷阱。我不知道OP是否包含文件或什么。但我同意你的看法。 –

回答

5

您可以使用全球获得了一个全局变量

//file 1 
$a = "im a global variable"; 

function foo(){ 
    global $a; 
    echo $a; 
} 

//file 2 
require "file1.php"; 

function foo2(){ 
    global $a; 
    echo $a; 
} 
+0

感谢您的回答。我将它标记为已接受,因为它适用于一般情况。但是,我不认为moodle允许用户定义全局变量:( – KodeSeeker

0

公正地分享思想,

想在文件1,你有$内容= “身份识别码”;

和file2中,如果包括( “file1.php”),你可以通过做访问,

global $content; 
var_dump($content) will output string 'myId' (length=4) 
+0

为什么小写? – Benedictus

相关问题