次の 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();
?>