php中define和const的区别是什么?

青灯夜游
Freigeben: 2023-03-02 18:26:01
Original
2575 Leute haben es durchsucht

区别:1、const用于类成员变量的定义,而define不可用于类成员变量的定义;2、const只接受静态的标量,而define可以采用任何表达式;3、const定义常量时大小写敏感,但define可以通过第三个参数来指定大小写是否敏感。

php中define和const的区别是什么?

常量默认大小写敏感,通常常量的标识符总是大写的。

可以用define()函数来定义常量,在php5.3.0之后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。

常量只能包含标量数据 (boolean,integer,float,string)。可以定义resource常量,但应该尽量避免。

定义常量

define("PI", 3.14);
echo PI; // 3.14
echo pi; // 输出 "pi" 并发出一个Warning信息

// 以下代码在 PHP 5.3.0 后可以正常工作
const RATE = 'Hello World';
echo RATE;
Nach dem Login kopieren

在PHP中定义常量时,const与define的区别

1、const本身是一个语言结构,而define是一个函数。

2、const在编译时要比define快很多

3、const用于类成员变量的定义,而define不可用于类成员变量的定义

4、const不能在条件语句中使用

if (...){
    const FOO = 'BAR';    // 无效的
}
if (...) {
    define('FOO', 'BAR'); // 有效的
}
Nach dem Login kopieren

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

const BIT_5 = 1 << 5;    // 无效的
define(&#39;BIT_5&#39;, 1 << 5); // 有效的
Nach dem Login kopieren

6、const定义常量时大小写敏感,但define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感

define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; // BAR
echo foo; // BAR
Nach dem Login kopieren

动态常量名

如果常量名是动态的,也可以用函数constant()来获取常量的值。用get_defined_contstants()可以获得所有已定义的常量列表。

define(&#39;PI&#39;,3.14);

$chang = &#39;PI&#39;;
echo $chang,&#39;<br/>'; // PI

echo constant($chang); // 3.14
Nach dem Login kopieren

defined — 检查某个名称的常量是否存在

// 真实开发一般是这样的
if(!defined('HEI')){
    define('HEI',8846);
}
Nach dem Login kopieren

相关教程推荐:《PHP教程

Das obige ist der detaillierte Inhalt vonphp中define和const的区别是什么?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!