Maison >développement back-end >tutoriel php >Deux façons de définir des constantes en php

Deux façons de définir des constantes en php

angryTom
angryTomoriginal
2019-08-22 13:36:4512890parcourir

Deux façons de définir des constantes en php

Le concept large de « constante » est : « une quantité qui ne change pas » (par exemple : une quantité qui ne sera pas modifiée par le programme lorsque le programme informatique est en cours d'exécution ; une certaine quantité dans une fonction mathématique, comme le rayon et le diamètre de chaque cercle spécifique ; l'accélération de la gravité près du sol en physique ; la vitesse de la lumière dans le vide ;) Voici deux façons de définir des constantes en PHP.

Tutoriels recommandés : Tutoriel vidéo PHP

Nous utilisons pi comme exemple ici.

La première façon : la définition de la macro définit Pi comme un symbole À l'heure actuelle, Pi n'est qu'un alias de 3.1415926, qui est utilisé lors de la compilation. .pour remplacer la valeur de Pi.

1.define est une définition de macro, et le programme la remplacera par le contenu défini par Define lors de la phase de prétraitement. Par conséquent, lorsque le programme est en cours d'exécution, aucune constante n'est définie avec set dans la table des constantes et le système ne lui alloue pas de mémoire. Les constantes définies par const se trouvent dans la table des constantes lorsque le programme est en cours d'exécution et le système lui alloue de la mémoire.

2. Les constantes définies par définir sont simplement remplacées directement lors du prétraitement. Par conséquent, la vérification du type de données ne peut pas être effectuée au moment de la compilation. Les constantes définies par const subissent une vérification de type stricte au moment de la compilation pour éviter les erreurs.

3. Faites attention à "l'effet de bord" lors de la définition d'expressions, comme la définition suivante : #define N 2+3 //Notre valeur N attendue est 5, nous utilisons N comme ceci, int a = N/ 2; //Nous nous attendions à ce que la valeur de a soit de 2,5, mais en fait la valeur de a est de 3,5. La raison en est que lors de la phase de prétraitement, le compilateur a traité a = N/2 en a = 2+3/. 2; c'est la macro. Les "effets de bord" du remplacement de chaîne défini sont donc définis comme suit : #define N (2+3).

La deuxième façon est de définir PI comme une variable, mais d'indiquer au compilateur que sa valeur est fixe , si vous essayez de la modifier dans le programme. Sa valeur signalera une erreur lors de la compilation.

Les constantes définies par const sont appelées variables constantes pour deux raisons : les constantes définies par const vérifient le type comme les variables ; const peut définir des constantes n'importe où, et le compilateur les traite de la même manière que les variables, sauf lorsque la mémoire est allouée différemment.

 Pour résumer, il est recommandé d'utiliser const au lieu des instructions de prétraitement #define (mais actuellement je vois plus de personnes utiliser #define, est-ce pratique ? ? À considérer)

1. const peut définir des types de données, améliorant ainsi la sécurité des types. Par exemple, ci-dessus on peut préciser que la constante PI est de type double

2. Puisque const est une variable (c'est un peu gênant ici, elle est en fait inchangée, mais le nom s'appelle une variable constante) , alors il a une adresse, qui est applicable Couverture plus large

 3. La grammaire est également mieux comprise

符号常量 #define Pi 3.1415926f;
 
常值变量 const float pi 3.1415926f;

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