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>
  • 相关阅读:
    C++ 动态库导出函数名“乱码”及解决
    ASP.NET 4.5 Bundle组件(捆绑、缩小静态文件)
    MVC4 + WebAPI + EasyUI + Knockout-授权代码维护
    关于Grunt可视化的尝试
    Object-c学习之路三(@class与#import的区别)
    2.1 以指定的次序返回查询结果
    进程序名得到进程ID和句柄与进程的公司名(使用快照和GetPeFileCompany和VerQueryValueW等函数)
    在资源里面画出你的界面
    VS2008下WinRar源码生成dll和 lib总结
    进程占用百分百CPU不卡(从未试过,当别的程序运行的时候,当前程序还会运行吗?)
  • 原文地址:https://www.cnblogs.com/sandraBlog/p/phpTest.html
Copyright © 2011-2022 走看看