php9个超全局变量的用法详解(一)_PHP教程

php中文网
发布: 2016-07-13 10:42:17
原创
933人浏览过

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV 1.先看一下$GLOBALS,它是包含了全部变量的全局组合数组,什么意思呢,看一个c语言程序
    int main()
    {
          int a = 3;
          void t()
         {
         printf("%d",a);
         }
         t();
         return 0;
    }
    登录后复制


    这个程序运行出来肯定是输出a,很容易理解的吗,在t()函数里将a变量输出 。但看一下php的一个程序:

    <?php
    
    $a = 3;
    function t(){
    echo $a;
    }
    t();
    ?>
    登录后复制


    这个会输出的是3吗?no,no,no那就太天真了,它是什么都输出不来的,why???很简单,因为$a不是全局变量,t()函数里面区不到它的值,哇~世界黑暗了,怎么办??别紧张啦,这个时候就需要我们的$GLOBALS出场了,刚才我说的它是包含了全部变量的全局组合数组可能大家没听懂,现在说就应该清楚多了,也就是说通过$GLOBALS就可以在t()函数里取到$a的值,方法$GLOBAL['$A'],试一下将t()函数内容改成function t(){
    echo $GLOBALS['a'];
    }运行一下,页面上就会清晰的显示出$a的值啦。再说一下$GLOBAL的范围,在你当前页面和当前页面require和include 进来的页面里的值它都可以取到。还算厉害吧。当然了,也不是万能的,再看一下这个
    <?php
    $a = 5;
    function t(){
    $b = 2;
    }
    function w()
    {
    echo $GLOBALS['b'];
    echo $GLOBALS['a'];
    }
    t();
    w();
    ?>
    登录后复制

    输出什么呢???答案是只有5,也就是说$GLOBALS是不能取到其它函数里面的值的。

    再看第二个$_SERVER,$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。从$_SERVER里面可以提取很多有用的信息,比如$_SERVER['REMOTE_ADDR']可以得到当前用户的ip,下面我用foreach遍历整个$_SERVER数组,将其打印。代码如下:

    <?php
    foreach($_SERVER as $key => $value){
    echo "<b>$key:</b> $value<br>\n";
    }
    登录后复制


    想要看效果又不想或者现在不能写的可以看这个网址,这是sae服务器server的效果。http://5253.sinaapp.com/blog/server.php我将它上传到这里了。

    易语言学习手册 十天学会易语言图解教程  pdf版
    易语言学习手册 十天学会易语言图解教程 pdf版

    十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第

    易语言学习手册 十天学会易语言图解教程  pdf版 3
    查看详情 易语言学习手册 十天学会易语言图解教程  pdf版

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/664281.htmlTechArticlePHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号