Maison >développement back-end >Problème PHP >Quelle est la différence entre définir et const en php ?
Différences : 1. const est utilisé pour la définition des variables membres de la classe, tandis que Définir ne peut pas être utilisé pour la définition des variables membres de la classe ; 2. Const n'accepte que les scalaires statiques, tandis que Définir peut utiliser n'importe quelle expression ; . const La définition de constantes est sensible à la casse, mais définir peut spécifier si elle est sensible à la casse via le troisième paramètre.
Les constantes sont sensibles à la casse par défaut, et généralement les identifiants des constantes sont toujours en majuscules.
Vous pouvez utiliser la fonction define()
pour définir des constantes. Après php5.3.0, vous pouvez utiliser le mot-clé const
pour définir des constantes en dehors de la définition de la classe. Dans les versions précédentes, le mot-clé const pouvait. être utilisé uniquement dans la classe (class).
La constante ne peut contenir que des données scalaires (booléennes, entières, flottantes, chaînes). Les constantes de ressources peuvent être définies, mais doivent être évitées.
Définir des constantes
define("PI", 3.14); echo PI; // 3.14 echo pi; // 输出 "pi" 并发出一个Warning信息 // 以下代码在 PHP 5.3.0 后可以正常工作 const RATE = 'Hello World'; echo RATE;
Lors de la définition de constantes en PHP, la différence entre const et définir
1. Une structure de langage, tandis que définir est une fonction.
2. Const est beaucoup plus rapide que définir lors de la compilation
3. Const est utilisé pour la définition des variables membres de la classe, mais définir ne peut pas être utilisé pour la définition des variables membres de la classe
.4. const ne peut pas être utilisé dans les instructions conditionnelles
if (...){ const FOO = 'BAR'; // 无效的 } if (...) { define('FOO', 'BAR'); // 有效的 }
5. const n'accepte que les scalaires statiques, tandis que Defin peut utiliser n'importe quelle expression
const BIT_5 = 1 << 5; // 无效的 define('BIT_5', 1 << 5); // 有效的
6. const est sensible à la casse lors de la définition de constantes , mais définir peut spécifier si la sensibilité à la casse est obtenue via le troisième paramètre (vrai indique l'insensibilité à la casse)
define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR
Nom de la constante dynamique
Si le le nom de la constante est dynamique, vous pouvez également utiliser la fonction constant() pour obtenir la valeur de la constante. Utilisez get_defined_contstants() pour obtenir une liste de toutes les constantes définies.
define('PI',3.14); $chang = 'PI'; echo $chang,'<br/>'; // PI echo constant($chang); // 3.14
défini — Vérifiez si une constante d'un certain nom existe
// 真实开发一般是这样的 if(!defined('HEI')){ define('HEI',8846); }
Recommandation de tutoriel connexe : "Tutoriel PHP "
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!