目录
php const与define区别,phpconstdefine
首页 后端开发 php教程 php const与define区别,phpconstdefine_PHP教程

php const与define区别,phpconstdefine_PHP教程

Jul 12, 2016 am 08:58 AM
const

php const与define区别,phpconstdefine

原文地址:http://www.manongjc.com/article/491.html

 

const是用于类成员常量的定义了,定义之后不可改,而define我们定义的是全局常量了, 这样我们在其它地方访问但不能改变了,具体还有一些细节我们下面给各位列出来吧

 

注意:define不能定义在类中,而const必须定义在类中,并且const必须通过类名::变量名来进行访问


1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。
2、define不能在类中定义而const可以。
3、const不能在条件语句中定义常量

4、const采用一个普通的常量名称,define可以采用表达式作为名称。
5、const只能接受静态的标量,而define可以采用任何表达式。
6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量
7.使用const简单易读,它本身是一个语言结构,而define是一个方法,用const定义在编译时比define快很多。

define是定义常量的,如果在类中定义常量呢?当然不能用define,而用const,如下例:

<?<span>php
</span><span>//</span><span>在类外面通常这样定义常量</span>
<span>define</span>("PHP","111cn.net"<span>);
</span><span>class</span><span> MyClass
{
    </span><span>//</span><span>常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号</span>
    <span>const</span> <span>constant</span> = 'constant value'<span>;
 
    </span><span>function</span><span> showConstant() {
        </span><span>echo</span>  self::<span>constant</span> . "<br>"<span>;
    }
}
 
</span><span>echo</span> MyClass::<span>constant</span> . "<br>"<span>;
 
</span><span>$classname</span> = "MyClass"<span>;
</span><span>echo</span> <span>$classname</span>::<span>constant</span> . "<br>"; <span>//</span><span> PHP 5.3.0之后</span>
 
<span>$class</span> = <span>new</span><span> MyClass();
</span><span>$class</span>-><span>showConstant();
</span><span>echo</span> <span>$class</span>::<span>constant</span>."<br>"; <span>//</span><span> PHP 5.3.0之后
//print_r(get_defined_constants());  //可以用get_defined_constants()获取所有定义的常量</span>
?>
登录后复制

一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量,看如下,这样是ok的:

<?<span>php
    </span><span>const</span> a = "abcdef"<span>;
    </span><span>echo</span><span> a;
</span>?>
登录后复制

关于常量的基础知识,这里不说了,除了以上,define和const的其它区别(摘自网络):

1.const不能再条件语句中定义常量,但是define是可以的,如下:

<?<span>php
    </span><span>if</span>(1<span>){
        </span><span>const</span> a = 'java'<span>;
    }
    </span><span>echo</span> a;  <span>//</span><span>必错</span>
?>
登录后复制

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

<?<span>php
</span><span>const</span>  FOO = 'PHP'<span>; 
</span><span>for</span> (<span>$i</span> = 0; <span>$i</span> < 32; ++<span>$i</span><span>) { 
    </span><span>define</span>('PHP_' . <span>$i</span>, 1 << <span>$i</span><span>); 
} 
</span>?>
登录后复制

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

<?<span>php
</span><span>const</span> PHP = 1 << 5;    <span>//</span><span> 错误</span>
<span>define</span>('PHP', 1 << 5); <span>//</span><span> 正确 </span>
?>
登录后复制

4.const本身就是一个语言结构。而define是一个函数。所以使用const速度要快的多。

两个共同步:两者都是不能进行重新赋值。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1102851.htmlTechArticlephp const与define区别,phpconstdefine 原文地址:http://www.manongjc.com/article/491.html const是用于类成员常量的定义了,定义之后不可改,而define我们定...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

深入理解C语言中的const 深入理解C语言中的const Feb 18, 2024 pm 12:56 PM

C中const的详解及代码示例在C语言中,const关键字用于定义常量,表示该变量的值在程序执行过程中不能被修改。const关键字可以用于修饰变量、函数参数以及函数返回值。本文将对C语言中const关键字的使用进行详细解析,并提供具体的代码示例。const修饰变量当const用于修饰变量时,表示该变量为只读变量,一旦赋值就不能再修改。例如:constint

c语言const怎么用 c语言const怎么用 Sep 20, 2023 pm 01:34 PM

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

在 Windows 11 上修复音频服务无响应问题的 18 种方法 在 Windows 11 上修复音频服务无响应问题的 18 种方法 Jun 05, 2023 pm 10:23 PM

音频输出和输入需要特定的驱动程序和服务才能在Windows11上按预期工作。这些有时最终会在后台遇到错误,从而导致音频问题,如无音频输出、缺少音频设备、音频失真等。如何修复在Windows11上没有响应的音频服务我们建议您从下面提到的修复开始,并逐步完成列表,直到您设法解决您的问题。由于Windows11上的多种原因,音频服务可能无法响应。此列表将帮助您验证和修复阻止音频服务在Windows11上响应的大多数问题。请按照以下相关部分帮助您完成该过程。方法一:重启音频服务您可能会遇

一起聊聊var、let以及const的区别(代码示例) 一起聊聊var、let以及const的区别(代码示例) Jan 06, 2023 pm 04:25 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要给大家介绍了var、let以及const的区别有哪些,还有ECMAScript 和 JavaScript的关系介绍,感兴趣的朋友一起来看一下吧,希望对大家有帮助。

C++ 函数const关键字的正确用法有哪些? C++ 函数const关键字的正确用法有哪些? Apr 11, 2024 pm 02:36 PM

C++中const关键字的正确用法:使用const修饰函数,表示函数不会修改传入的参数或类成员。使用const声明函数指针,表示该指针指向常量函数。

C++语法错误:必须在定义时初始化const对象,改怎么处理? C++语法错误:必须在定义时初始化const对象,改怎么处理? Aug 22, 2023 am 09:13 AM

对于C++程序员来说,语法错误是极其常见的问题之一。其中一种常见错误是必须在定义时初始化const对象。如果你遇到了这种情况,该怎么处理呢?首先,我们需要了解什么是const对象。const关键字是C++中的一种特殊类型限定符,用于指定变量的值无法在程序的执行期间被改变。这种变量称为“常量”。如果在定义const对象时没有初始化它,你将会遇到上述错误。这是

C++报错:不能将const对象转换为非const对象,应该怎样解决? C++报错:不能将const对象转换为非const对象,应该怎样解决? Aug 22, 2023 am 08:33 AM

C++作为一种强类型语言,在进行类型转换时需要考虑很多细节,其中常见的问题就是不能将const对象转换为非const对象。尤其在涉及到指针和引用时,这个问题更为常见。接下来,我们将详细介绍这个问题的原因和解决方法。问题的原因C++中的const关键字用于定义常量,常量一旦定义后就不能再被修改。当我们将const对象转换为非const对象时,实际上是试图修改一

C++语法错误:const修饰的成员函数必须声明const成员,怎么处理? C++语法错误:const修饰的成员函数必须声明const成员,怎么处理? Aug 22, 2023 pm 01:51 PM

C++语法错误:const修饰的成员函数必须声明const成员,怎么处理?在C++语言中,const是一个很重要的关键字,它用于修饰某些变量、指针以及成员函数等。对于成员函数而言,如果它被const关键字修饰,那么在函数体内部就不能修改成员变量的值了。但是,如果我们没有在函数声明和定义中都加上const关键字,就会遇到编译错误“const修饰的成员函数必须声

See all articles