我有以下代码:
<html>
<body>
<h1><?isFoo();?></h1>
</body>
</html>
<?php
$foo_app_cookie_val = "foo";
function isFoo() {
global $foo_app_cookie_val;
echo "in isFoo: '$foo_app_cookie_val'<br/>";
return isApp($foo_app_cookie_val);
}
?>
我得到的输出是:
isFoo: ''
为什么我没有看到$ foo_app_cookie_val的实际值?
答案 0 :(得分:10)
$foo_app_cookie_val
后, foo
设置为<h1><?isFoo();?></h1>
。将脚本更改为:
<?php
$foo_app_cookie_val = "foo";
function isFoo() {
global $foo_app_cookie_val;
echo "in isFoo: '$foo_app_cookie_val'<br/>";
return isApp($foo_app_cookie_val);
}
?>
<html>
<body>
<h1><?isFoo();?></h1>
</body>
</html>
答案 1 :(得分:4)
isFoo()
的值之前,会调用 $foo_app_cookie_val
。尝试将大块PHP代码移动到文件的顶部,如下所示:
<?php
$foo_app_cookie_val = "foo";
function isFoo() {
global $foo_app_cookie_val;
echo "in isFoo: '$foo_app_cookie_val'<br/>";
return isApp($foo_app_cookie_val);
}
?>
<html>
<body>
<h1><?isFoo();?></h1>
</body>
</html>
实际声明函数无关紧要。重要的是调用与设置全局变量相关的函数。