Maison >développement back-end >Problème PHP >Quelles sont les différences entre const défini en php ?

Quelles sont les différences entre const défini en php ?

藏色散人
藏色散人original
2020-07-27 09:48:542498parcourir

Les différences entre const definition en PHP sont : 1. const est utilisé pour définir les variables membres de la classe, mais Define ne peut pas être utilisé pour définir les variables membres de la classe ; 2. Const peut être utilisé dans les classes, mais Define ne peut pas ; 3. , Const ne peut pas définir de constantes dans les instructions conditionnelles ; 4. const utilise des noms de constantes ordinaires.

Quelles sont les différences entre const défini en php ?

Recommandé : "Tutoriel PHP"

Explication détaillée des constantes PHP : 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 les versions précédentes, le mot-clé const ne pouvait être utilisé que dans les classes. Une fois qu'une constante est définie, elle ne peut pas être modifiée ou indéfinie.

La constante ne peut 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 spécifiant 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 constantes et variables sont les suivantes :

1 Il n'y a pas de signe dollar ($) devant les constantes

2. .Les constantes ne peuvent transmettre que la définition de la fonction definition(), mais pas via les instructions d'affectation

3. Les constantes peuvent être définies et accessibles n'importe où, quelle que soit la portée de la variable

4. définie, elle ne peut pas être redéfinie ou indéfinie

5. La valeur d'une constante ne peut être qu'un scalaire

<?php
// 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;zhouguowei&#39;;
echo USERNAME;
echo constant("USERNAME");
 
const ZHOUUSERNAME = &#39;zhouguowei2222222222&#39;;
 
define(&#39;MYUSERNAME&#39;,&#39;zhouguowei1111111&#39;);
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 definition ?

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 les instructions conditionnelles

<?php
if (...){
const FOO = &#39;BAR&#39;;    // 无效的invalid
}
if (...) {
define(&#39;FOO&#39;, &#39;BAR&#39;); // 有效的valid
}
?>

4. Pour les noms de constantes ordinaires, définir peut utiliser des expressions comme noms

<?php
const  FOO = &#39;BAR&#39;;
for ($i = 0; $i < 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>

5. 🎜>6. Les constantes définies par const sont sensibles à la casse et définir peuvent spécifier si la sensibilité à la casse est obtenue via le troisième paramètre (true indique l'insensibilité à la casse).

<?php
const BIT_5 = 1 << 5;    // 无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); // 有效的valid
?>

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn