PHP头条
热点:

php——21-关键词 const(运行效率比 define 可能更高) define,21-const


语法及注意点

  • const 定义常量语法:const 常量标识符 = 常量值;
  • const 关键字一般在类的声明里定义常量时使用;在 PHP 5.3.0 以后,可以使用 const 关键字在类定义的外部定义常量。
  • const 定义的常量默认为大小写敏感。通常常量标识符总是大写的,而且也建议在开发过程中使用大写

const 与 define 都可以定义常量,他们的区别是:

  • const 一般用于类成员变量的定义,一经定义,不可修改。define 不可用于类成员变量的定义,一般用于定义全局常量。
  • const 不能在条件语句中定义常量
  • const 采用一个普通的常量名称,define 可以采用表达式作为名称
  • const 只能接受静态的标量,而 define 可以采用任何表达式
  • const 定义的常量大小写敏感,而 define 可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感
<?php

const TEST='test';//外部const定义 //等同 define('TEST','test'); 但一般推荐用在类内部

class Person
{
    const NAME = 'tom';
    const name = 'john';//不建议使用小写定义常量

    public function test()
    {
        //调用方法与静态属性相同
        echo self::NAME . '<br>';//tom
        echo self::name . '<br>';//john //区分大小写
        echo TEST . '<br>';//test //外部定义的 const 内部也可以调用
    }
}

$cc = new Person();
$cc->test();

//外部也可以调用类内部定义的 const 常量
echo Person::NAME . '<br>';//tom

define 不可用于类成员变量的定义,一般用于定义全局常量。

<?php

define('TEST', 'test');//函数  //建议定义全局的常量
const TEST1 = 'test1';//结构  //建议定义类内部的常量

class Test
{
    //define('TEST2', 'test2');//报错 //类内部不能使用 define

    public function tt()
    {
        echo TEST . '<br>';//test
        echo TEST1 . '<br>';//test1
    }
}

$cc = new Test();
$cc->tt();

const 不能在条件语句中定义常量

<?php

$i = 10;
if ($i < 15) {
    define('AGE', 12);
    // const AGE1 = '20'; //报错,条件语句内部不可以 const 定义常量
}
echo AGE . '<br>';//12
// echo AGE1 . '<br>';

const 采用一个普通的常量名称,define 可以采用表达式作为名称

<?php

$n = 'TT' . mt_rand(1, 999);//mt_rand 用于在传入两个值中获取随机值
define($n, 12);
echo constant($n);//12

//const $n=123;//报错//const 采用一个普通的常量名称,define 可以采用表达式作为名称

只能接受静态的标量,而 define 可以采用任何表达式

<?php

//const TT = (1 + 2).mt_rand(1,100);
define('TT1', (1 + 2).mt_rand(1,100));
//echo TT . '<br>';//报错 //只能接受静态的标量,而 define 可以采用任何表达式
echo TT1 . '<br>';//384

而 define 可通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感

<?php

define('Name','tom',true);//传入 true 来不区分大小写(默认区分)
echo Name.'<br>';//tom
echo namE.'<br>';//tom

www.phpzy.comtrue/php/19854.htmlTechArticlephp——21-关键词 const(运行效率比 define 可能更高) define,21-const 语法及注意点 const 定义常量语法:const 常量标识符 = 常量值; const 关键字一般在类的声明里定义常量时使用;在 PHP 5.3...

相关文章

    暂无相关文章

PHP之友评论

今天推荐