一次。现在我在PHP中遇到了一些非常基本的功能问题。我有一个网页,其中包含以下代码:
function laserOn()
{
$_SESSION['laser'] = TRUE;
$num_victims = rand(2,125);
$vic = rand(0, count($victims) - 1);
print $num_victims." ".$victims[$vic]." have been vaporized!<br />";
}
和一个单独的文件,victim.php,我有require_once
'd,包含
$victims = array(
1 => "chickens",
2 => "horses",
3 => "werewolves",
4 => "zombies",
5 => "vampires",
6 => "cows"
);
但是,该页面仅显示数字和字符串,而不是数组值。我在这里做错了什么?
答案 0 :(得分:3)
$victims
似乎不在您的函数范围内。要在函数范围内使用全局变量,您需要使用global
关键字声明它(请参阅php.net文档中的variable scope)。
function laserOn()
{
global $victims;
// ... rest of your function
}
或者,您可能需要在函数中包含该数组的文件,但这可能不是所希望的(特别是如果该文件定义了自己的函数!)