Объяснение разницы
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. Надеюсь, это будет полезно всем.