Explicación de la diferencia
1. Const es una estructura de lenguaje, define () es una función y la compilación de const es más rápida que define ().
2. define () declara una constante. El nombre de la constante es de tipo cadena, se puede unir dinámicamente y se puede nombrar con una expresión. Const solo puede usar nombres de constantes ordinarios.
Las constantes definidas por la palabra clave const distinguen entre mayúsculas y minúsculas, y la función define () puede determinar si distingue entre mayúsculas y minúsculas a través del tercer parámetro.
Ejemplo
<?php // Constantes // Definición y uso de constantes // Método de definición 1: función define() define("CON_INT", 100); eco CON_INT; // Definir el uso de esta constante para que no distinga entre mayúsculas y minúsculas define("GREETING", "hello world", true); // Para este tipo de uso, el sistema le recordará que no se recomienda echo GREETING; eco Saludo; eco "<br/>"; //Método de definición 2: definición de palabra clave const const FOO = 'BAR'; para($i = 0; $i <32; ++$i){ define('YDMA_'.$i, 1 + $i); } eco YDMA_16; // const no puede definir constantes en declaraciones condicionales/* si(verdadero){ const FOO0 = 'BAR'; // no válido} si(verdadero){ define('FOO0', 'BAR'); // válido} */ // Obtener el valor de la constante: constante() función echo "<br/>"; definir("VAR0", "888"); constante de eco("VAR0"); eco "<br/>"; const CONSTANT0 = 'contante de prueba'; constante de eco ("CONSTANTE0"); // Obtener una lista de todas las constantes definidas echo "<pre>"; print_r(get_defined_constants()); // Obtiene todas las constantes a las que se puede acceder en este script y genera una matriz extra larga
Lo anterior es la diferencia entre los métodos para definir constantes en PHP. Espero que sea útil para todos.