2013-11-27 75 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

相關問題