zoukankan      html  css  js  c++  java
  • php中const定义常量

    const 常量
    1.在定义时必须被初始值,
    2.前面不加任何修饰符
    3.变量名字母一般都大写
    4.常量可以被子类继承
    5.一个常量是属于一个类的,而不是某个对象的


    作用:当某些值是固定不变的,就用const

    1.const 定义的常量和define()定义的常量的区别?

    希望一个成员变量不被修改 例如圆周率 3.1415926
    定义:const 常量名=值; 没有$符
    访问:类名 ::常量名 或 接口名::常量名

    <?php                      defined('TEXT');检查一个名称的常量是否存在
     class A{
     const TAX_RATE=0.08;
     public function payTax($var){
     return $var*A::TAX_RATE;
    }
    }
    $a=new A();
    echo $a->payTax(200):
    ?>

    用法一:const用于类成员变量,一经定义不可修改,define用于全局常量,不可用于类成员变量的定义,const可在类中使用,define不能。

    用法二:const定义的常量大小写敏感,而define可通过第三个参数(为TRUE表示大小写不敏感)来指定大小写是否敏感。在运行时定义一个常量。define('TXE',100,TRUE);

    用法三:const不能在条件语句中定义常量,而define函数可以。if($a>10){define('LE','hello');}

    2.global定义的全局常量和$GLOBALS的区别?

    $GLOBALS(超全局变量) — 引用全局作用域中可用的全部变量, 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

    <?php
    function test() {
        $foo = "local variable";

        echo '$foo in global scope: ' . $GLOBALS["foo"] . " ";
        echo '$foo in current scope: ' . $foo . " ";
    }

    $foo = "Example content";
    test();
    ?>

    Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件

    代码如下:
    <?PHP
    $a=123;
    function aa()
    {
    Global $a; //如果不把$a定义为global变量,函数体内是不能访问函数体外部的$a的,但是可以定义一个相同的名字$a,此时这个变量是局部echo

    $a;   变量,只能在函数体内部使用。
    }
    aa();
    ?>

    总结:在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,
    复制代码 代码如下:
    global $a;
    $a=123; 必须分开赋值
    function f()
    {
    echo $a; //错误,
    }
    //再看看下面一例
    function f()
    {
    global $a;
    $a=123;
    }
    f();
    echo $a; //正确,可以使用

    static定义的静态变量?


     

  • 相关阅读:
    TensorFlow学习('utf-8' codec can't decode byte 0xff in position 0: invalid start byte)
    Python常用库之三:Matplotlib
    线性回归 Python实现
    go 算法 查询字符在字符串中的位置
    Python与Go快速排序
    Python与Go斐波那契数列
    Python与Go选择排序
    Python与Go插入排序
    Python与Go冒泡排序
    git clone直接提交用户名和密码
  • 原文地址:https://www.cnblogs.com/jiechn/p/3753853.html
Copyright © 2011-2022 走看看