Maison > Article > développement back-end > La différence et les exemples d'utilisation des constantes PHP const et définir
La soi-disant constante est un simple identifiant. Cette valeur ne peut pas être modifiée pendant l'exécution du script. Les constantes sont sensibles à la casse par défaut. Normalement, les identifiants constants sont toujours en majuscules. 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.
définir la section
Les macros peuvent non seulement être utilisées pour remplacer des valeurs constantes, mais également pour remplacer des expressions et même des segments de code. (Les macros sont très puissantes, mais elles sont également sujettes aux erreurs, leurs avantages et inconvénients sont donc assez controversés.)
La syntaxe des macros est :
#define 宏名称 宏值
À titre de suggestion et de procédure générale Comme pratique courante parmi les développeurs de macros, les noms de macros sont souvent écrits en majuscules.
Avantages de l'utilisation de macros :
1) Rendre le code plus concis et plus clair
Bien sûr, cela dépend de ce que vous donnez à la macro un nom approprié. De manière générale, les noms de macro doivent avoir une signification claire et intuitive, et il est parfois préférable de les allonger.
2) Maintenance pratique du code
Le traitement des macros est appelé "prétraitement" pendant le processus de compilation. C'est-à-dire qu'avant la compilation formelle, le compilateur doit d'abord remplacer les macros qui apparaissent dans le code par leurs valeurs de macro correspondantes. Ce processus est similaire à la recherche et au remplacement que vous et moi utilisons dans les logiciels de traitement de texte. Par conséquent, lorsque des macros sont utilisées pour exprimer des constantes dans le code, en dernière analyse, des nombres immédiats sont utilisés et le type de cette quantité n'est pas clairement spécifié.
partie const
Le format de définition de la constante est :
const 数据类型 常量名 = 常量值;
La constante définie par const a un type de données, et définit la constante de type de données est pratique pour le compilateur. L’inspection des données permet de dépanner les erreurs possibles dans le programme. Une constante doit initialement spécifier une valeur, puis, dans le code ultérieur, nous ne sommes pas autorisés à modifier la valeur de cette constante.
La différence entre const et definition :
Dans l'allocation de l'espace mémoire. Lorsque définir définit une macro, elle n'allouera pas d'espace mémoire. Elle sera remplacée dans la fonction principale lors de la compilation. Il s'agit simplement d'un simple remplacement sans aucune vérification, telle que le type, la structure de l'instruction, etc. est juste un placement pur. Relation, telle que #define null 0 ; le compilateur remplace toujours null par 0 lorsqu'il rencontre null (si vous avez des questions, veuillez consulter la partie prétraitement du livre sur le langage C. ou regardez MSDN. Les constantes définies par const ont des types de données, la définition de constantes de types de données permet au compilateur de vérifier les données et de résoudre les erreurs possibles dans le programme. Par conséquent, la différence entre const et définir est que la définition de constantes avec const élimine le problème. insécurité entre les programmes.
Utiliser 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éfinir lors de la compilation. 🎜>1. Const est utilisé pour la définition des variables membres de la classe, ne peut pas être modifié. Define ne peut pas être utilisé pour la définition des variables membres de la classe, mais peut être utilisé pour les constantes globales
2. utilisé dans les classes, Define ne peut pas être utilisé
3. Const ne peut pas être utilisé dans les instructions conditionnelles, le code est le suivant :
4. , définir peut utiliser des expressions comme noms, le code est le suivant :<?php if (...){ const FOO = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>5. const Il ne peut accepter que des scalaires statiques, tandis que définir peut utiliser n'importe quelle expression :
<?php const FOO = 'BAR'; for ($i = 0; $i < 32; ++$i) { define('BIT_' . $i, 1 << $i); } ?>6. Les constantes définies par const sont sensibles à la casse, tandis que définir peut transmettre le troisième paramètre (est vrai, indique l'insensibilité à la casse) pour spécifier si la casse est sensible :
<?php const BIT_5 = 1 << 5; // 无效的invalid define('BIT_5', 1 << 5); // 有效的valid ?>
<.>
<?php define('FOO', 'BAR', true); echo FOO; // BAR echo foo; // BAR ?>
[Recommandations d'articles connexes] :
La différence et les exemples d'utilisation des fonctions définies et définies en 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!