Quelle est la différence entre définir et const en php ?

青灯夜游
Libérer: 2023-03-02 18:26:01
original
2700 Les gens l'ont consulté

Différences : 1. const est utilisé pour la définition des variables membres de la classe, tandis que Définir ne peut pas être utilisé pour la définition des variables membres de la classe ; 2. Const n'accepte que les scalaires statiques, tandis que Définir peut utiliser n'importe quelle expression ; . const La définition de constantes est sensible à la casse, mais définir peut spécifier si elle est sensible à la casse via le troisième paramètre.

Quelle est la différence entre définir et const en php ?

Les constantes sont sensibles à la casse par défaut, et généralement les identifiants des constantes sont toujours en majuscules.

Vous pouvez utiliser la fonction define() 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 pouvait. être utilisé uniquement dans la classe (class).

La constante ne peut contenir que des données scalaires (booléennes, entières, flottantes, chaînes). Les constantes de ressources peuvent être définies, mais doivent être évitées.

Définir des constantes

define("PI", 3.14);
echo PI; // 3.14
echo pi; // 输出 "pi" 并发出一个Warning信息

// 以下代码在 PHP 5.3.0 后可以正常工作
const RATE = 'Hello World';
echo RATE;
Copier après la connexion

Lors de la définition de constantes en PHP, la différence entre const et définir

1. Une structure de langage, tandis que définir est une fonction.

2. Const est beaucoup plus rapide que définir lors de la compilation

3. Const est utilisé pour la définition des variables membres de la classe, mais définir ne peut pas être utilisé pour la définition des variables membres de la classe

.

4. const ne peut pas être utilisé dans les instructions conditionnelles

if (...){
    const FOO = 'BAR';    // 无效的
}
if (...) {
    define('FOO', 'BAR'); // 有效的
}
Copier après la connexion

5. const n'accepte que les scalaires statiques, tandis que Defin peut utiliser n'importe quelle expression

const BIT_5 = 1 << 5;    // 无效的
define(&#39;BIT_5&#39;, 1 << 5); // 有效的
Copier après la connexion

6. const est sensible à la casse lors de la définition de constantes , mais définir peut spécifier si la sensibilité à la casse est obtenue via le troisième paramètre (vrai indique l'insensibilité à la casse)

define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; // BAR
echo foo; // BAR
Copier après la connexion

Nom de la constante dynamique

Si le 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.

define(&#39;PI&#39;,3.14);

$chang = &#39;PI&#39;;
echo $chang,&#39;<br/>'; // PI

echo constant($chang); // 3.14
Copier après la connexion

défini — Vérifiez si une constante d'un certain nom existe

// 真实开发一般是这样的
if(!defined('HEI')){
    define('HEI',8846);
}
Copier après la connexion

Recommandation de tutoriel connexe : "Tutoriel 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal