zoukankan      html  css  js  c++  java
  • Global和LOCAL作用域

    函数之外声明的变量拥有Global作用域,只能在函数以外进行访问

    <html>
    <head>
      <title>php</title>
      <meta charset="utf-8" />
    </head>
    <body>
    <?php
    $x=5;
    function test(){
      $y=10;
      echo "<p>测试函数内部的变量$y</p>";//局部变量只能在函数内部被访问
      
      //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
    }
    test();
    //echo $y;//局部变量在外部是不能被访问的
    echo $x;
    ?>
    
    </body>
    </html>

    函数内部声明的变量拥有LOCAL作用域,只能在函数内部进行访问

    <html>
    <head>
      <title>php 变量</title>
      <meta charset="utf-8" />
    </head>
    <body>
    <?php
    $x=5;
    function test(){
      $y=10;
      echo "<p>测试函数内部的变量$y</p>";
      //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
    }
    test();
    echo $x;
    ?>
    
    </body>
    </html>

    PHP global 关键词

    global 关键词用于访问函数内的全局变量。

    要做到这一点,请在函数内部变量前使用Global关键词

    <html>
    <head>
      <title>php 变量</title>
      <meta charset="utf-8" />
    </head>
    <body>
    <?php
    $x=5;
    function test(){
      $y=10;
      echo "<p>测试函数内部的变量$y</p>";
      //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
     //要想在这个地方可以访问到x,那么可以在变量X之前加上global关键字
      global $x;
      echo $x;
      echo "<br>";
     }
    test();
    echo $x;
    ?>
    
    </body>
    </html>
    由上面输出的两个变量X可以看出来在变量前加上global之后,如果在函数内部对变量进行了修改的话,外部再次访问变量的时候变量值也会被修改!
    <html>
    <head>
      <title>php 变量</title>
      <meta charset="utf-8" />
    </head>
    <body>
    <?php
    $x=5;
    function test(){
      $y=10;
      echo "<p>测试函数内部的变量$y</p>";
      //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
     //要想在这个地方可以访问到x,那么可以在变量X之前加上global关键字
      global $x;
      $x = $x+$y;
      echo $x;
      echo "<br>";
     }
    test();
    echo $x;//由上面输出的两个变量X可以看出来在变量前加上global之后,如果在函数内部对变量进行了修改的话,外部再次访问变量的时候变量值也会被修改!
    ?>
    
    </body>
    </html>
  • 相关阅读:
    链表问题----反转部分单向链表
    HTTP请求详解
    链表问题----删除链表的中间节点和a/b处的节点
    链表问题----删除倒数第K个节点
    栈和队列----最大值减去最小值小于等于num的子数组的数量
    栈和队列----求最大子矩阵的大小
    TCP/IP、Http、Socket的区别
    栈和队列----生成窗口的最大值数组
    linux根文件系统制作,busybox启动流程分析
    linux 内核启动流程分析,移植
  • 原文地址:https://www.cnblogs.com/sandraBlog/p/phpTest.html
Copyright © 2011-2022 走看看