Dalam php, fungsi define() digunakan untuk mentakrifkan pemalar, sintaksnya ialah "define($name, $value, $case_insensitive)"; parameter "$case_insensitive" digunakan untuk menentukan sama ada pemalar adalah sensitif huruf besar-besaran, lalai Ia sensitif huruf besar-kecil Jika nilai ditetapkan kepada benar, ini bermakna ia tidak sensitif huruf besar-besaran. Setelah pemalar ditakrifkan, ia tidak boleh ditakrifkan semula atau tidak ditakrifkan.
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3
define ialah fungsi terbina dalam dalam PHP, digunakan untuk menentukan pemalar.
Pemalar ialah pengecam mudah. Nilai ini tidak boleh diubah semasa pelaksanaan skrip (kecuali untuk apa yang dipanggil pemalar ajaib, yang bukan pemalar). Pemalar adalah sensitif huruf besar secara lalai. Biasanya pengecam malar sentiasa huruf besar.
Pemalar adalah serupa dengan pembolehubah Perbezaannya ialah selepas penetapan, nilai pemalar tidak perlu ditukar pada permulaannya pemalar Nilai pemalar sahaja Boleh menjadi rentetan atau nombor.
fungsi define() mentakrifkan pemalar
Nama pemalar undang-undang hanya boleh bermula dengan huruf dan garis bawah, dan boleh diikuti dengan huruf, nombor atau garis bawah mana-mana panjang . Dalam PHP, anda boleh mentakrifkan pemalar melalui fungsi define() Sintaks bagi fungsi define() adalah seperti berikut:
define($name, $value , $case_insensitive)
$name parameter yang diperlukan, nama pemalar (perlu menggunakan Dibalut dalam petikan berganda atau petikan tunggal)
$value Parameter yang diperlukan, nilai pemalar
$case_insensitive Parameter pilihan, nyatakan sama ada ia sensitif huruf besar dan kecil, lalai adalah sensitif huruf besar, ditetapkan kepada benar untuk menunjukkan tidak sensitif huruf
<?php header("Content-type:text/html;charset=utf-8"); define('WebSite', 'php中文网'); echo WebSite.'<br>'; ?>
Pengetahuan lanjutan:
kata kunci const mentakrifkan pemalar
Selepas php5.3.0, anda boleh menggunakan kata kunci const untuk mentakrifkan pemalar di luar definisi kelas Dalam versi sebelumnya, kata kunci const sahaja Boleh digunakan dalam kelas.
Sintaks:
const 常量名 = 常量值;
Contoh:
<?php const FOO = 'BAR'; echo FOO.'<br>'; ?>
Perbezaan antara define() dan const:
const ialah Pemalar ditakrifkan pada masa penyusunan, manakala kaedah define() mentakrifkan pemalar pada masa jalan.
const tidak boleh digunakan dalam pernyataan if, defne() boleh digunakan dalam pernyataan if. Senario biasa untuk
if(...) { const FOO = 'BAR';//错误 } if(...) { define('FOO', 'BAR');//正确 }
define() adalah dengan terlebih dahulu menentukan sama ada pemalar telah ditakrifkan sebelum mentakrifkan pemalar:
if(defined('FOO)) { define('FOO', 'BAR') }
const Apabila mentakrifkan pemalar, nilai hanya boleh menjadi skalar statik (nombor, String, true, false, null), dan kaedah define() boleh menggunakan nilai sebarang ungkapan sebagai nilai pemalar. Bermula dari PHP 5.6, const juga membenarkan ungkapan untuk digunakan sebagai nilai pemalar. Nama pemalar yang ditakrifkan oleh
const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持 define('BIT_5', 1 << 5);// 所有PHP版本都支持const 只允许简单的常量名,而define()可以把任何表达式的值用作常量名
for ($i = 0; $i < 32; $i++) { define('BIT_' . $i, 1 << $i); }
const adalah sensitif huruf besar dan kecil dan pemalar tidak sensitif huruf besar boleh ditakrifkan dengan menghantar benar kepada parameter ketiga kaedah define().
define('FOO', 'BAR', true); echo FOO; //BAR echo foo; //BAR
Yang disenaraikan di atas ialah beberapa kekurangan atau ketidakfleksibelan const berbanding dengan define(). pemalar dalam senario yang disenaraikan di atas).
const mempunyai kebolehbacaan yang lebih baik, const ialah struktur bahasa dan bukannya fungsi, dan konsisten dengan bentuk penentuan pemalar kelas dalam kelas.
const mentakrifkan pemalar dalam ruang nama semasa dan define() mesti melepasi nama ruang nama lengkap apabila mentakrifkan untuk mencapai kesan yang serupa:
namespace A\B\C; //To define the constant A\B\C\FOO: const FOO = 'BAR'; define('A\B\C\FOO', 'BAR');
Kajian yang disyorkan: "Tutorial video PHP 》
Atas ialah kandungan terperinci Apakah kegunaan php define. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!