php全局变量

Posted Web工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php全局变量相关的知识,希望对你有一定的参考价值。

使用关键字global进行全局变量标识;注意:不能在用global声明变量的同时给变量赋值。像global $name = "Tom"的使用方式是错误的。

<?php

    global $name;

    $name = "Tom";

    function changeName(){

        $name = "John";

    }
    changeName();

    echo "my name is " . $name . "<br/>";

?>

 

定义全局变量后执行的结果仍然为my name is Tom,这个结果出乎意料。原来,global的正确用法是:"在一个函数中引入外部的一个变量,如果该变量没有通过参数传递进来,那么就通过global引入进来。" 也就是说,当一个函数引用一个外部变量时,可以在函数内通过global来声明该变量,这样该变量就可以在函数中使用了(相当于当作参数传递进来)。那么,再次修改代码:

<?php

    $name = "Tom";

    function changeName(){

        global $name;

        $name = "John";

    }

    changeName();

    echo "my name is " . $name . "<br/>";

?>

 

这次的运行结果是:my name is John,说明global是起传递参数的作用,而并非使变量的作用域为全局

以上是关于php全局变量的主要内容,如果未能解决你的问题,请参考以下文章

片段 - 全局视图变量与本地和内部类侦听器和内存泄漏

PHP代码审计学习——常见的超全局变量

php全局变量 超全局变量

Cpanel Cron Job Php 全局变量

php学习笔记-超级全局变量

php中在局部作用域内访问全局变量