• 技术文章 >后端开发 >PHP问题

    php怎么让变量称为全局变量

    silencementsilencement2019-09-26 09:34:20原创1230

    我们知道,变量呢,其实就相当于我们用来储存信息的容器。关于它的命名规则什么的,相信大家也是比较清楚的,这里就不赘述了。这里呢,主要就来看PHP变量的两个作用域,全局变量&局部变量。

    看到这两个变量作用域,相信大家脑海里会浮现两个单词global&static。没错,就是这两个词。

    我们知道,在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。然而,在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。下面,我们来看个实例:

    <?php
    $x=5; // 全局变量
    
    function myTest()
    {
        $y=10; // 局部变量
        echo "<p>测试函数内变量:<p>";
        echo "变量 x 为: $x";
        echo "<br>";
        echo "变量 y 为: $y";
    }
    
    myTest();
    
    echo "<p>测试函数外变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
    ?>

    在以上实例中 myTest() 函数定义了 $x 和 $y 变量。$x 变量在函数外声明,所以它是全局变量, $y 变量在函数内声明所以它是局部变量。

    当我们调用myTest()函数并输出两个变量的值,函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

    然后我们在myTest()函数外输出两个变量的值,函数将会输出全局部变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。

    由此,我们就可以知道,我们可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。这也算是一个小技巧了哈。

    废话不多说,我们先来看global关键字。global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字,来看个实例:

    <?php
    $x=5;
    $y=10;
    function myTest()
    {
        global $x,$y;
        $y=$x+$y;
    }
    myTest();
    echo $y; // 输出 15
    ?>

    PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。所以,上面的实例可以写成这样:

    <?php
    $x=5;
    $y=10;
    
    function myTest()
    {
        $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    }
    
    myTest();
    echo $y;
    ?>

    以上就是php怎么让变量称为全局变量的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:全局变量
    上一篇:php文件用啥打开 下一篇:php文件内容乱码
    千万级数据并发解决方案

    相关文章推荐

    • PHP7内核剖析4之局部变量,全局变量,常量 • PHP的变量作用域和全局变量(图文教程)• PHP全局变量与超级全局变量的区别详细分析
    1/1

    PHP中文网