zoukankan      html  css  js  c++  java
  • PHP函数中的变量

    局部变量

    在函数内部声明的变量(包括函数的参数),只能在函数内部调用,这叫做局部变量,函数执行完毕后变量释放,在函数外部无法调用

    $weather = sunny;
    
    function demo ()
    {
        $weather = rainny;
        echo "Today is $weather";
    }
    
    demo (); //输出Today is rainny

    全局变量

    在函数外部声明的变量,可以在每个函数中使用(注意顺序问题:全局变量要声明在函数调用之前才可以使用),如果要在函数内部使用函数外部的变量,需要使用global关键字将外部变量引入

    $weather = sunny;
    
    function demo ()
    {
        global $weather; //引入外部变量weather
        $weather = rainny; //变量被重新赋值
        echo "Today is $weather";
    }
    
    demo (); //输出Today is rainny

    $weather = sunny;
    
    function demo ()
    {
        
        $weather = rainny; //局部变量
        global $weather;//全局变量被引入
        echo "Today is $weather";
    }
    
    demo (); //输出Today is sunny

    function demo ()
    {
        
        $weather = rainny; 
        global $weather;
        echo "Today is $weather";
    }
    
    $weather = sunny; //只要全局变量声明在函数调用之前都可以使用,否则不能被调用
    
    demo (); //输出Today is sunny

    常量

    常量则不同于变量,只要定义了,就可以直接在函数里使用,还有九个全局数组

    define("Content","hello world");
    $_POST['demo'] = 1;
    
    function demo ()
    {
        echo Content."<br>";
        echo $_POST['demo'];
    }
    
    demo ();//输出 hello world 和 1 

    静态变量

    在函数中声明静态变量,只在第一次调用时被声明,存在初始化静态段中,之后再继续调用会到初始化静态段中找,如果有,直接使用,而不会再重新被声明,与全局变量类似,不会再函数执行完毕后释放,而是在整个脚本执行完后释放

    function demo () //非静态变量,连续调用返回值永远是1
    {
        $a = 0;
        $a++;
        return $a."<br>";
    }
    
    echo demo ();
    echo demo ();
    echo demo ();

    function demo()
    {
        static $a = 0;  //静态变量:在函数中声明静态变量,只在第一次调用时被声明,存在初始化静态段中,之后再继续调用会到初始化静态段中找,如果有,直接使用,而不会再重新被声明,与全局变量类似,不会再函数执行完毕后释放,而是在整个脚本执行完后释放
        $a++;
        echo $a."<br>";
    }
    demo(); // 输出1
    demo(); // 输出2
    demo(); // 输出3

     

  • 相关阅读:
    第6章 对列表应用样式和创建导航条
    第3章 可视化格式模型
    第2章 为样式找到应用目标
    精通CSS 第1章
    JavaScript作用域学习笔记
    getByClass()
    判断各种数据类型
    值类型和引用类型的区别
    [原]Docker部署SuperMap8.1.1
    Docker初步
  • 原文地址:https://www.cnblogs.com/Itwonderful/p/5530480.html
Copyright © 2011-2022 走看看