Maison  >  Article  >  développement back-end  >  Quelle est la différence entre définir et const en php ?

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

青灯夜游
青灯夜游original
2020-07-21 10:45:172621parcourir

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;

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'); // 有效的
}

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); // 有效的

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

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

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

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

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!

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