Maison >développement back-end >tutoriel php >Explication détaillée de la différence entre les constantes PHP définies et const
Dans notre article précédent, nous vous avons présenté des exemples d'utilisation de définir en php. Je pense que vous avez une certaine compréhension de définir. Aujourd'hui, nous allons vous présenter une explication détaillée de la différence entre les constantes php définies. et const.
Une constante est un simple identifiant. Cette valeur ne peut pas être modifiée lors de l'exécution du script (sauf pour les constantes magiques, qui ne sont pas des constantes). Les constantes sont sensibles à la casse par défaut. Normalement, les identifiants constants sont toujours en majuscules.
Vous pouvez utiliser la fonction définir() 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 ne peut être utilisé que dans les classes. Une fois qu'une constante est définie, elle ne peut pas être modifiée ou indéfinie.
Les constantes ne peuvent contenir que des données scalaires (booléennes, entières, flottantes et chaînes). Les constantes de ressources peuvent être définies, mais doivent être évitées car elles peuvent entraîner des résultats imprévisibles.
Vous pouvez obtenir la valeur d'une constante simplement en précisant son nom. Contrairement aux variables, vous ne devez pas mettre le signe $ devant une constante. Si 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.
Les différences entre les constantes et les variables sont les suivantes :
1. Il n'y a pas de signe dollar ($) devant la constante
2. Les constantes ne peuvent être définies que via la fonction definition(), pas les instructions d'affectation
3. ignorer le rôle des variables Le domaine est défini et accessible partout
4 Une fois qu'une constante est définie, elle ne peut pas être redéfinie ou indéfinie
5. Constante La valeur ne peut être qu'un scalaire
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = 'zhouguowei'; echo USERNAME; echo constant("USERNAME"); const ZHOUUSERNAME = 'zhouguowei2222222222'; define('MYUSERNAME','zhouguowei1111111'); echo "<pre class="brush:php;toolbar:false">"; print_r(get_defined_constants()); ?>
Q : Lors de la définition de constantes en php, quelle est la différence entre const et définir ?
Réponse : L'utilisation de const rend le code simple et facile à lire. const lui-même est une structure de langage et définir est une fonction. De plus, const est beaucoup plus rapide que défini lors de la compilation.
1. const est utilisé pour définir les variables membres de la classe. Une fois définie, elle ne peut pas être modifiée. Define ne peut pas être utilisé pour définir des variables membres de classe, mais peut être utilisé pour des constantes globales.
2. Const peut être utilisé dans les classes, définir ne peut pas
3. Const ne peut pas définir de constantes dans des instructions conditionnelles
.<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
4. const utilise des noms de constantes ordinaires, définir peut utiliser des expressions comme noms
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>
5. prends n'importe quelle expression
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
总结:
本文通过实例为大家更为直观的了解php常量define与const的区别详解,希望对你的工作有所帮助!
相关推荐:
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!