
Объяснение разницы
1. Const — это структура языка, define() — это функция, а компиляция const выполняется быстрее, чем define().
2. define() объявляет константу. Имя константы имеет строковый тип, может быть динамически объединено и может быть названо с помощью выражения. Const может использовать только обычные имена констант.
Константы, определенные ключевым словом const, чувствительны к регистру, и функция define() может определить, учитывается ли регистр, с помощью третьего параметра.
Пример
<?php
// Константы // Определение и использование констант // Метод определения 1: функция define() define("CON_INT", 100);
эхо CON_INT;
// Определите использование этой константы без учета регистра. define("GREETING", "hello world", true); // При таком использовании система напомнит, что это не рекомендуется echo GREETING;
эхо-приветствие;
эхо "<br/>";
//Метод определения 2: определение ключевого слова const const FOO = 'BAR';
for($i = 0; $i <32; ++$i){
define('YDMA_'.$i, 1 + $i);
}
эхо YDMA_16;
// const не может определять константы в условных операторах/*
если (правда) {
const FOO0 = 'BAR' // неверно}
если (правда) {
define('FOO0', 'BAR'); // допустимо}
*/
// Получаем значение константы: Constant() function echo "<br/>";
define("VAR0", "888");
эхо-константа («VAR0»);
эхо "<br/>";
const CONSTANT0 = 'тестовый компонент';
эхо-константа («CONSTANT0»);
// Получаем список всех определенных констант echo "<pre>";
print_r(get_define_constants()); // Получаем все константы, к которым можно получить доступ в этом скрипте, и выводим очень длинный массивВышеописанное — это разница между методами определения констант в PHP. Надеюсь, это будет полезно всем.