为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕婉清6462132 2021-09-05 17:00:11
我有一个全局变量,但我不能在函数中调用它。我尝试在函数中定义变量并修复它,但我需要变量是全局的,以便我可以在其他函数中调用它。我试过在变量名之前使用“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


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 317 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信