场景:我在PHP 5.2.14下的Drupal 6.20中定义了一个自定义块。我启用了PHP代码,我试图做这样的事情:
<?php
$a = "success";
function test() {
global $a;
print $a;
}
test();
?>
它在我的系统上没有打印任何内容,因为我看起来似乎没有变量$ a。我也试过$ GLOBALS ['a']无济于事。是什么赋予了?我觉得我疯了。
顺便说一句,在外部作用域中使用global关键字可以很好地使drupal的全局变量可用。
答案 0 :(得分:1)
我对Drupal并不是很熟悉,但是我猜这些块被包含在某个其他函数/方法中,所以你有效地处理了一个嵌套函数,include包含在外部函数的本地范围内。
有了这个,$a = "success"
功能无法解决test()
是有意义的。
如果我是对的,如果你在两个范围内拍打global
关键字,它应该会有效。