Je veux dire : "La puissance de Php va de soi." Il y aura des gens ici qui diront que ce langage est le plus puissant et quel langage est le meilleur. L'éditeur déclare que cette chronique ne se compare pas. quel langage est meilleur ou pire. Dans cette chronique, je me concentre uniquement sur la nature du langage PHP et je partage mon expérience avec des amis qui apprennent le PHP comme moi. L'éditeur n'est pas un expert PHP, je suis juste un fidèle fan de PHP. Si vous êtes intéressé, vous pouvez parler de PHP avec moi et partager ensemble quelques-unes de vos expériences.
Hier, quelqu'un m'a répondu et m'a demandé ce qu'est la frappe faible. Je l'ai souligné trois fois, mais je ne l'ai pas expliqué. Aujourd'hui, je vais vous expliquer dans cet article ce qu'est la frappe faible, ses avantages et ses inconvénients. frappe faible. La raison pour laquelle l'éditeur estime que PHP est très puissant est que PHP fournit de nombreuses fonctionnalités uniques aux développeurs, dont l'une est le mécanisme de type faible PHP.
Regardons d'abord un exemple. Les types faibles peuvent effectuer les opérations suivantes :
Exemple 1 :
<?Php $iruohong = 1; //整数型 $iruohong = array(); //数组型 $iruohong = “iruohong.com”; //字符串型 ?>
Les amis qui ont une certaine expérience en programmation peuvent utiliser ce code pour comprendre Le concept de typage faible est l'une des manifestations du mécanisme de typage faible de php. Les développeurs du noyau php souhaitent améliorer l'efficacité du développement des développeurs grâce à ce système qui ne nécessite pas de déclarations.
Cependant, ce mécanisme apportera quelques problèmes. Par exemple, certaines des comparaisons suivantes vous poseront des problèmes, si les développeurs n'y prêtent pas attention.
Exemple 2 :
<?Php $a = null; $b = false; If($a == $b){ echo “a和b相等!”; }else{ echo “a和b不相等!”; } ?>
<?Php $a = ''; $b = 0; //同样为真 If($a == $b){ echo “a和b相等!”; }else{ echo “a和b不相等!”; } ?>
Testez-le et vous constaterez que les deux morceaux de code produiront a et b égaux ! , les amis novices seront très surpris, comment peuvent-ils être égaux ? L'éditeur a également subi des pertes à cet égard. La raison en est que lorsque vous comparez, PHP ne vérifie pas strictement le type des variables entrantes et ne convertit pas les variables librement. Parce que peu importe si la variable est 0 null '' ou false, PHP sera vide par défaut lors de la comparaison, et la valeur entière sera 0, donc elles sont égales. Si vous devez comparer plusieurs valeurs différentes, utilisez "===". Trois signes égaux représentent une égalité complète, y compris l'égalité de type et de valeur. Ce sont quelques erreurs que commettent les débutants.
Après avoir tant parlé des types faibles, comparons les différences entre les types forts et les types faibles.
(1) Qu'il s'agisse d'un type fort ou d'un type faible, les variables ont deux attributs : type et valeur ; c'est-à-dire que les variables faiblement typées ont aussi des types.
Quel que soit le langage de programmation dont il s'agit, les variables utilisées ont à la fois des types et des valeurs. Les types de variables fortement typés doivent être clairement définis dans le code source, appelés « déclarations de variables », tandis que les types de variables faiblement typés n'ont pas besoin d'être déclarés et sont interprétés par l'interpréteur. Cependant, cela ne signifie pas que les variables faiblement typées n'ont pas la notion de type. Par exemple, le gettype de PHP renvoie le type "actuel" de la variable.
(2) Malentendu : [Certaines personnes pensent que le type des variables fortement typées ne peut pas être modifié, tandis que les variables faiblement typées peuvent être modifiées selon les besoins. Une fois qu'une variable fortement typée est déclarée, elle ne peut stocker que des valeurs . de ce type. , d'autres valeurs doivent être converties avant de pouvoir être affectées à la variable. Il existe des conversions qui sont automatiquement comprises par le compilateur, et il existe également des conversions forcées qui sont explicitement spécifiées par le programmeur. Les types de variables faiblement typés sont constamment convertis selon les besoins. 】Ce qui est entre parenthèses noires est un malentendu. Beaucoup de gens ont ce malentendu. En fait, ni le type de variable pré-typé ni le type de variable faiblement typé ne peuvent être modifiés. L'exemple suivant explique tout. Lors de l'attribution d'une valeur à $b, la valeur de $a change, mais le type de $a ne change pas. Veuillez tester l'exemple suivant par vous-même
Exemple 3 :
.<?php $a = 25; echo $a.'|'.gettype($a).'<br>'; $b = $a.'good'; echo $b.'|'.gettype($b).'<br>'; echo $a.'|'.gettype($a).'<br>'; ?>
Le résultat de sortie est :
25|integer25good|string25|integer
(3) La conversion forcée dans un langage fortement typé ne change pas le type de variable
Le langage fortement typé a une "conversion forcée ", qui change le type de la valeur de la variable, permettant une affectation sans changer le type de la variable. Le type de la variable ne peut pas changer.
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!