• PHP:第一章——PHP中的变量002


    预定义变量、变量的有效范围、可变变量、静态变量、php之外的变量

    <?php
    /*****************************************************/
    //预定义变量:
    //$GLOBALS  —— 引用全局作用域中可用的全部变量;
    //$_SERVER —— 服务器和执行环境信息
    //$_GET  ——HTTP GET变量
    //$_POST —— HTTP POST变量
    //$_FILES ——HTTP文件上传的变量
    //$_REQUEST —— HTTP REQUEST变量
    //$_ENV ——环境变量
    //$_COOKIE ——httpCookies
    // $argc ——传递给脚本的参数数目
    // $argv ——传递给脚本的参数数组
    // $php_errormsg ——前一个错误信息
    // $HTTP_RAW_POST_DATA ——原生POST数据
    // $http_response_header ——HTTP响应头信息
    
    /*****************************************************/
    //变量的有效范围:指变量能够被检测到及能被使用的范围;
    //页级全局变量在函数中无法生效。
    //例:
    /*$yeji='页级全局变量';
    function myfunction(){
        var_dump(isset($yeji)); //这里返回bool(false),无法检测到这个变量
    }
    myfunction();*/
    
    //函数中局部变量,在函数外无法访问
    //例2:
    /*function myfun(){
        $a='函数中的变量';
    }
    myfun();
    var_dump($a);  //输出null,不存在$a变量*/
    
    
    //使用global关键字进行声明,强制变量的可见范围:
    /*$a=1;$b=2;
    function sum(){
        global $a,$b;
        $b=$a+$b;
    }
    sum();
    echo $b;//输出3;*/
    
    //使用$GLOBALS超全局变量数组
    //$a=1;$b=5;
    //function sum(){
    //    $GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b'];
    //}
    //sum();
    //echo $b;
    /*****************************************************/
    //可变变量:
    //例1:
    //$v1='PHP';
    //$$v1='学院';
    //echo $PHP;//输出:学院
    
    //例2:
    //$v2='seo';
    //$$v2='大学';
    //echo $v2.${$v2};//输出seo大学
    /*****************************************************/
    //静态变量:
    /*
     1.原理:static + 变量名 + 值
    2.静态变量在内存中多了一个是否初始化标识符。
    3.未有新的声明和原有声明不变的情况下。静态变量保持最后一次运行结果。
    4.在函数中声明的静态变量,作用域只保存在函数中有效。
     */
    
    //例1:静态变量的定义.
    //static $int=0;
    
    //例2:静态变量的作用域:
    //通过静态变量统计函数被调用的次数
    /*function counter(){
        static $a=1;
        echo $a.'<br/>';
        $a++;
        static $a=1;
    }
    counter();//输出1;
    counter();//输出2
    counter();//输出3*/

    //例:
    /*
    $a=3;
    echo $a;//输出:3

    static $a=6;
    echo $a;//输出:12.静态变量会在编译阶段声明提升。

    $a=9;
    echo $a;//输出:9

    static $a=12;
    echo $a;//输出:9
    */
    /*****************************************************/
    //php之外的变量:(提交表单得到的变量)
    
    /*login.html里面的内容部分:
    <form action="index.php" method="post">
    用户名01:<input type="text" name="username01"/>
    用户名02:<input type="text" name="username02"/>
    <input type="submit" value="提交"/>
    </form>
    */
    
    /*
    //index.php中的内容部分
    echo $_POST['username01'];
    echo $_REQUEST['username02'];
    */
    
    ?>
  • 相关阅读:
    [CF451E] Devu and Flowers
    [CF1038E] Maximum Matching
    [CF825E] Minimal Labels
    [CCPC2020绵阳L] Lottery
    [CCPC2020绵阳K] Knowledge is Power
    [CCPC2020绵阳J] Joy of Handcraft
    [CCPC2020绵阳G] Game of Cards
    [CCPC2020绵阳D] Defuse the Bombs
    [CF1082E] Increasing Frequency
    [CF301B] Yaroslav and Time
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/7083202.html
Copyright © 2020-2023  润新知