zoukankan      html  css  js  c++  java
  • 全局变量和局部变量(global关键字)

    1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。

    2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。

    3、函数之间存在作用域互不影响。

    4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组

    在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖。如下:

    <?php
    $a=5;//全局变量
    $b=3;//全局变量
    function t()
    {
      $c;//局部变量
      $c=$a-$b; echo $c; // 输出 0 } t(); ?>

    要想在函数中直接使用全局变量可以通过 global 关键字声明或者通过 php 中自定义的 $GLOBALS数组获取,PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。:

    <?php
    $a=5;//全局变量
    $b=3;//全局变量
    function t1()
    {  
        global $a,$b;
        echo $a-$b;  // 输出 2
    }
    t1();
    
    echo PHP_EOL;
    
    function t2()
    {
        echo $GLOBALS['a']-$GLOBALS['b'];  // 输出 2
    }
    t2();
    ?>
  • 相关阅读:
    聪明人 & 普通人
    13种模型及方法论
    面向大规模商业系统的数据库设计和实践
    分治算法
    软件架构
    隐含前提思维模型
    Git回滚代码到某个commit
    使用arthas排查 test 问题
    Arthas
    docker 操作入门
  • 原文地址:https://www.cnblogs.com/alexguoyihao/p/9066464.html
Copyright © 2011-2022 走看看