为什么不能在我的函数中调用我的全局变量?

我有一个全局变量,但我不能在函数中调用它。


我尝试在函数中定义变量并修复它,但我需要变量是全局的,以便我可以在其他函数中调用它。我试过在变量名之前使用“global”,但这也不起作用。



$randBoolean = FALSE;


function someFunction(){

       if(!$randBoolean){

       lineBreak();

       $randBoolean = TRUE;

       }

}


someFunction();


我在另一个 php 文档中使用了全局变量,它工作得很好。我不确定是不是因为这个全局变量是一个布尔值。


慕婉清6462132
浏览 318回答 1
1回答

交互式爱情

您必须将变量声明为global函数内部。$randBoolean = FALSE;function someFunction(){    global $randBoolean;    if(!$randBoolean){        //lineBreak();        $randBoolean = TRUE;    }}echo $randBoolean ? 'TRUE' : 'FALSE' ;someFunction();echo $randBoolean ? 'TRUE' : 'FALSE';结果FALSETRUE当然,出于多种原因,您应该避免使用全局变量,因此最好将变量作为参数传递给函数,在这种情况下,通过引用传递它,以便函数可以修改其值。$randBoolean = FALSE;function someFunction(&$param){    if(!$param){        //lineBreak();        $param= TRUE;    }}echo $randBoolean ? 'TRUE' : 'FALSE' ;someFunction($randBoolean);echo $randBoolean ? 'TRUE' : 'FALSE';结果FALSETRUE
打开App,查看更多内容
随时随地看视频慕课网APP