Rumah pembangunan bahagian belakang tutorial php 详解PHP常量:define和const的区别

详解PHP常量:define和const的区别

Apr 10, 2018 pm 04:50 PM
const define

本篇文章给大家分享的内容是详解PHP常量:define和const的区别,有着一定的参考价值,有需要的朋友可以参考一下

常量是一个简单的标识符。在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量)。常量默认大小写敏感。通常常量标识符总是大写的。

 可以用define()函数来定义常量。在php5.3.0以后,可以使用const关键字在类定义的外部定义常量,先前版本const关键字只能在类(class)中使用。一个常量一旦被定义,就不能再改变或取消定义。

 常量只能包含标量数据(boolean、integer、float和string)。可以定义resource常量,但应尽量避免,因为会造成不可预料的结果。

 可以简单的通过指定其名字来获得常量的值,与变量不同,不应该在常量的前面加上$符号。如果常量名是动态的,也可以用函数constant()来获取常量的值。用get_defined_contstants()可以获得所有已定义的常量列表。

 常量和变量有如下不同:

1、常量前面没有美元符号($)

2、常量只能通过define()函数定义,而不能通过赋值语句

3、常量可以不用理会变量的作用域在任何地方定义和访问

4、常量一旦定义就不能重新定义或取消定义

5、常量的值只能是标量

<?php
//
 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;zhouguowei&#39;;
echo USERNAME;
echo constant
("USERNAME");
 
const ZHOUUSERNAME = &#39;zhouguowei2222222222&#39;;
 
define (&#39;MYUSERNAME&#39;,&#39;zhouguowei1111111&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r( get_defined_constants());  
?>
Salin selepas log masuk

问:在php中定义常量时,const和define的区别?

答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。

1、const用于类成员变量的定义,一经定义,不可修改。Define不可以用于类成员变量的定义,可用于全局常量。

2、Const可在类中使用,define不能

3、Const不能再条件语句中定义常量

<?php
if(...){
const FOO = &#39;BAR&#39;;    //无效的invalid
}
if(...) {
define (&#39;FOO&#39;, &#39;BAR&#39;); //有效的valid
}
?>
Salin selepas log masuk

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

<?php
const FOO = &#39;BAR&#39;;
for($i= 0; $i< 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>
Salin selepas log masuk

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

<?php
constBIT_5 = 1 << 5;    //无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); //有效的valid
?>
Salin selepas log masuk

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

<?php
define (&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; //BAR
echo foo; //BAR
?>
Salin selepas log masuk

Atas ialah kandungan terperinci 详解PHP常量:define和const的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1277
29
Tutorial C#
1257
24
Penggunaan PHP yang berterusan: Sebab -sebab ketahanannya Penggunaan PHP yang berterusan: Sebab -sebab ketahanannya Apr 19, 2025 am 12:23 AM

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

Keserasian IIS dan PHP: menyelam yang mendalam Keserasian IIS dan PHP: menyelam yang mendalam Apr 22, 2025 am 12:01 AM

IIS dan PHP serasi dan dilaksanakan melalui FastCGI. 1.IIS meneruskan permintaan fail .php ke modul FastCGI melalui fail konfigurasi. 2. Modul FastCGI memulakan proses PHP untuk memproses permintaan untuk meningkatkan prestasi dan kestabilan. 3. Dalam aplikasi sebenar, anda perlu memberi perhatian kepada butiran konfigurasi, debugging ralat dan pengoptimuman prestasi.

Apa yang berlaku jika session_start () dipanggil beberapa kali? Apa yang berlaku jika session_start () dipanggil beberapa kali? Apr 25, 2025 am 12:06 AM

Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

Apakah mata wang Ripple (mata wang XRP)? Tutorial terperinci untuk pemula Apakah mata wang Ripple (mata wang XRP)? Tutorial terperinci untuk pemula Apr 28, 2025 pm 07:57 PM

Dicipta oleh Ripple, Ripple digunakan untuk pembayaran rentas sempadan, yang cepat dan murah dan sesuai untuk pembayaran transaksi kecil. Selepas mendaftarkan dompet dan pertukaran, pembelian dan penyimpanan boleh dibuat.

Dalam pembangunan back-end, bagaimana membezakan tanggungjawab lapisan perkhidmatan dan lapisan DAO? Dalam pembangunan back-end, bagaimana membezakan tanggungjawab lapisan perkhidmatan dan lapisan DAO? Apr 19, 2025 pm 01:51 PM

Membincangkan seni bina hierarki dalam pembangunan back-end. Dalam pembangunan back-end, seni bina hierarki adalah corak reka bentuk yang sama, biasanya termasuk pengawal, perkhidmatan dan tiga lapisan DAO ...

Komposer: Membantu pembangunan PHP melalui AI Komposer: Membantu pembangunan PHP melalui AI Apr 29, 2025 am 12:27 AM

AI boleh membantu mengoptimumkan penggunaan komposer. Kaedah khusus termasuk: 1. Pengoptimuman Pengurusan Ketergantungan: AI menganalisis kebergantungan, mengesyorkan kombinasi versi terbaik, dan mengurangkan konflik. 2. Generasi Kod Automatik: AI menjana fail komposer.json yang sesuai dengan amalan terbaik. 3. Meningkatkan Kualiti Kod: AI mengesan masalah yang berpotensi, memberikan cadangan pengoptimuman, dan meningkatkan kualiti kod. Kaedah ini dilaksanakan melalui pembelajaran mesin dan teknologi pemprosesan bahasa semulajadi untuk membantu pemaju meningkatkan kecekapan dan kualiti kod.

Apakah kepentingan fungsi session_start ()? Apakah kepentingan fungsi session_start ()? May 03, 2025 am 12:18 AM

session_start () iscrucialinphpformanaginguserSessions.1) itinitiatesanewsessionifnoneexists, 2) resumeSanexistingsession, dan3) setSasessionCookieforcontinuityAcrossrequests, enableingApplicationeUseUshenticationandPersonalConizedConizedContentContentContentContentContentContentContentContentContentContentContentC.

Apakah perbezaan antara kerangka php laravel dan yii Apakah perbezaan antara kerangka php laravel dan yii Apr 30, 2025 pm 02:24 PM

Perbezaan utama antara Laravel dan Yii adalah konsep reka bentuk, ciri -ciri fungsional dan senario penggunaan. 1. Laravel memberi tumpuan kepada kesederhanaan dan keseronokan pembangunan, dan menyediakan fungsi yang kaya seperti alat eloquentorm dan artisan, sesuai untuk pembangunan dan pemula yang pesat. 2.YII menekankan prestasi dan kecekapan, sesuai untuk aplikasi beban tinggi, dan menyediakan sistem Activerecord dan cache yang cekap, tetapi mempunyai lengkung pembelajaran yang curam.

See all articles