
Explicação da diferença
1. Const é uma estrutura de linguagem, define() é uma função e a compilação const é mais rápida que define().
2. define() declara uma constante. O nome da constante é do tipo string, pode ser emendado dinamicamente e pode ser nomeado com uma expressão. Const só pode usar nomes de constantes comuns.
As constantes definidas pela palavra-chave const diferenciam maiúsculas de minúsculas, e a função define() pode determinar se ela diferencia maiúsculas de minúsculas por meio do terceiro parâmetro.
Exemplo
<?php
// Constantes // Definição e uso de constantes // Método de definição 1: define() function define("CON_INT", 100);
eco CON_INT;
// Defina o uso desta constante para não diferenciar maiúsculas de minúsculas define("GREETING", "hello world", true); // Para este tipo de uso, o sistema lembrará que não é recomendado echo GREETING;
eco Saudação;
eco "<br/>";
//Método de definição 2: definição da palavra-chave const const FOO = 'BAR';
for($i = 0; $i <32; ++$i){
define('YDMA_'.$i, 1 + $i);
}
eco YDMA_16;
// const não pode definir constantes em instruções condicionais/*
se(verdadeiro){
const FOO0 = 'BAR'; // inválido}
se(verdadeiro){
define('FOO0', 'BAR'); // válido}
*/
// Obtém o valor da constante: constante() function echo "<br/>";
define("VAR0", "888");
constante de eco("VAR0");
eco "<br/>";
const CONSTANT0 = 'testar contante';
constante de eco("CONSTANT0");
// Obtém uma lista de todas as constantes definidas echo "<pre>";
print_r(get_defined_constants()); // Obtém todas as constantes que podem ser acessadas neste script e gera um array extra longoO texto acima é a diferença entre os métodos de definição de constantes em PHP. Espero que seja útil para todos.