我有一个全局变量,但我不能在函数中调用它。我尝试在函数中定义变量并修复它,但我需要变量是全局的,以便我可以在其他函数中调用它。我试过在变量名之前使用“global”,但这也不起作用。$randBoolean = FALSE;function someFunction(){ if(!$randBoolean){ lineBreak(); $randBoolean = TRUE; }}someFunction();我在另一个 php 文档中使用了全局变量,它工作得很好。我不确定是不是因为这个全局变量是一个布尔值。
1 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
您必须将变量声明为global函数内部。
$randBoolean = FALSE;
function someFunction(){
global $randBoolean;
if(!$randBoolean){
//lineBreak();
$randBoolean = TRUE;
}
}
echo $randBoolean ? 'TRUE' : 'FALSE' ;
someFunction();
echo $randBoolean ? 'TRUE' : 'FALSE';
结果
FALSE
TRUE
当然,出于多种原因,您应该避免使用全局变量,因此最好将变量作为参数传递给函数,在这种情况下,通过引用传递它,以便函数可以修改其值。
$randBoolean = FALSE;
function someFunction(&$param){
if(!$param){
//lineBreak();
$param= TRUE;
}
}
echo $randBoolean ? 'TRUE' : 'FALSE' ;
someFunction($randBoolean);
echo $randBoolean ? 'TRUE' : 'FALSE';
结果
FALSE
TRUE
- 1 回答
- 0 关注
- 317 浏览
添加回答
举报
0/150
提交
取消