• 前端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. ?>




  • 相关阅读:
    浅谈 IBM 购并 Sun Microsystems
    用 CSS 替代 HTML 的 table tag 设计网页版面
    用 IIS 7、ARR 與 Velocity 建设高性能的大型网站
    实作 ASP.NET 多笔数据离线编辑
    快速搞懂 ASP.NET MVC
    C# Design Patterns (2) Strategy
    网站性能越来越差怎么办?
    dotNET 类型转型的三种做法
    ASP.NET 数据分页第二篇 范例下载
    程序员真情忏悔录
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/d09e9f5029483843bef5d9370463ff59.html
Copyright © 2020-2023  润新知