Maison > Article > développement back-end > La différence entre Define et Const en PHP
Cet article présente principalement la différence entre Define et Const en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Nous changeons souvent les valeurs qui le font. ne change pas fréquemment. Définies comme une constante, les constantes sont généralement exprimées en lettres majuscules sans le signe dollar devant. Alors, quelle est la différence entre définir 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 dites 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 classe. Dans php7, vous pouvez définir des constantes de tableau. 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.
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = '周伯通'; echo USERNAME.PHP_EOL; echo constant("USERNAME"); const ZHOUUSERNAME = '周伯通九阴真经';define('MYUSERNAME','周伯通九阴真经2'); echo "<pre class="brush:php;toolbar:false">"; print_r(get_defined_constants()); ?>
Les différences entre les constantes et les variables sont les suivantes :
1. const est une structure de langage définie ; une fonction, vous pouvez spécifier s'il faut être sensible à la casse via le troisième paramètre. true signifie insensibilité à la casse, la valeur par défaut est false
2. const est simple et facile à lire, et est beaucoup plus rapide à compiler qu'à définir.
3. const peut être utilisé dans les classes pour définir les constantes des membres de la classe et ne peut pas être modifié après la définition ; définir ne peut pas être utilisé dans les classes et peut être utilisé pour les variables globales
<?php class MyClass { const USER = '周伯通'; function showConstant() { echo self::USER . PHP_EOL; echo constant('USER'); // 注意:Warning: constant(): Couldn't find constant USER } } $class = new MyClass(); $class->showConstant();
4. const est défini au moment de la compilation, il doit donc être dans la portée la plus élevée et ne peut pas être utilisé dans les fonctions, les boucles et if conditions;Et définir est une fonction, c'est-à-dire qu'elle peut être utilisée partout où une fonction peut être appelée
<?php $x = true; if ($x==1){ //const FOO = 'BAR'; // 无效的invalid } if ($x==1){ define('FOO', 'BAR'); // 有效的valid echo FOO; }
Ce qui précède. C'est tout le contenu de cet article. J'espère qu'il sera utile à tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Analyse de l'utilisation de ob_start en PHP
Explication de la fonction PHP empty()
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!