zoukankan      html  css  js  c++  java
  • 前端PHP入门-013-变量作用域

    目前,我们知道了几个不同的规矩:

    • 函数定义时后括号里面接的变量是形式上的参数(形参),与函数体外的变量没有任何关系。仅仅是在函数内部执行
    • 函数内声明的变量也与函数外的变量没关系。

    但是,我们实际的处理情况中会遇到这样的一个情况:

    • 我想在函数体内定义的变量在函数体外用
    • 我想把函数体外的变量拿到函数体内来使用

    1.通过$GLOBLAS来读取外部变量

    1. <?php
    2. $one = 10;
    3. function demo(){
    4. $two = 100;
    5. $result = $two + $GLOBALS['one'];
    6. return $result;
    7. }
    8. //你会发现结果变成了110
    9. echo demo();
    10. ?>

    上例中:我们将函数体外的变量通过$GLOBALS拿到了函数体使用。所以,打破了函数外的变量不能在函数体内使用的限定。

    2.通过$GLOBLAS,在函数内修改外部变量

    1. <?php
    2. $pangsir = '我是一个兵,来自老百姓';
    3. function test(){
    4. echo '执行了函数test哟<br />';
    5. //调用test()函数,将通过$GLOBALS['pangsir'],把$pangsir 的值改变掉
    6. $GLOBALS['pangsir'] = '帮助别人很快乐';
    7. }
    8. test();
    9. //发现是不是输出的值变了呀?
    10. echo $pangsir;
    11. ?>

    通过上例:我们发现通过GLOBALS[pangsir],pangsir 的值改变掉,所以在最后输出$pangsir 的时候,值发生了变化。

    3.通过$GLOBLAS,在函数内创建全局变量

    1. <?php
    2. function hello(){
    3. $GLOBALS['que'] = '提神喝茶更好哟';
    4. echo '你调了一下函数hello<br />';
    5. }
    6. hello();
    7. echo $que;
    8. ?>




  • 相关阅读:
    Nodejs exec和spawn的区别
    VC++每个版本对应的库
    在cmd启动一个win32程序,printf把信息输出到启运它的那个CMD窗口
    window 控制台解决中文乱码
    NW.js 桌面应用程序
    C++ Addon Async 异步机制
    Node bak
    nodejs electron 创建桌面应用
    跨平台桌面程序框架Electron
    js post 下载文件
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/d09e9f5029483843bef5d9370463ff59.html
Copyright © 2011-2022 走看看