0
考慮這個PHP腳本:Drupal頁面中全局PHP變量的範圍是什麼?
<?php
$a = "ok";
function foo() {
global $a; print "[$a]";
}
foo();
?>
它打印[ok]
當用PHP解釋器中運行正如人們所期望。但如果在Drupal頁面中運行,它僅打印[]
。爲了使其在Drupal的工作,我有這樣的變量聲明之前添加另一個全球規格:
<?php
global $a; // WHY IS THIS NEEDED IN DRUPAL?
$a = "ok";
function foo() {
global $a; print "[$a]";
}
foo();
?>
同一臺服務器?相同版本的PHP? – Pitchinnate
[參考:什麼是變量作用域,哪些變量可以從哪裏訪問以及什麼是「未定義變量」錯誤?](http://stackoverflow.com/questions/16959576/reference-what-is-variable-scope -which-variables-are-accessible-from-where-and) – deceze