Maison >développement back-end >Problème PHP >PHP est-il un langage fortement typé ?
PHP est un langage faiblement typé
On note qu'il n'est pas nécessaire de déclarer le type de données de la variable à PHP.
PHP convertira automatiquement la variable dans le type de données correct en fonction de sa valeur. Dans un langage de programmation fortement typé, il faut déclarer (définir) le type et le nom de la variable avant de l'utiliser.
1. Définissez d'abord quelques concepts de base
Erreurs de programme
erreurs piégées. Oblige le programme à mettre fin à l'exécution, comme la division par 0, les erreurs d'accès hors limites du tableau non interceptées en Java. L'exécution continue après une erreur, mais un comportement arbitraire peut survenir. Par exemple, débordement de tampon en C, Aller à une mauvaise adresse
Comportements interdits
Lors de la conception d'un langage, vous pouvez définir un ensemble de comportements interdits. Il doit inclure tous les comportements interdits. erreurs non piégées, mais il peut contenir des erreurs piégées.
Bien comporté, mal comporté
bien comporté : Si les comportements interdits ne sont pas possibles pendant l'exécution du programme, il se comporte bien .
mauvais comportement : Sinon, il se comporte mal...
2 Avec les concepts ci-dessus, discutons des types forts et faibles, des types statiques et dynamiques
Types forts et faibles
Fortement typés : Si tous les programmes d'un langage se comportent bien - c'est-à-dire que les comportements interdits sont impossibles, alors le langage est fortement typé.
Faiblement typé : Sinon, il est faiblement typé. Par exemple, le débordement de tampon en langage C appartient aux erreurs piégées, c'est-à-dire aux comportements interdits. Par conséquent, C est une personne faiblement typée. Comme les personnes précédentes l'ont également dit, les langages faiblement typés ont une vérification de type moins stricte, comme la préférence. pour tolérer les conversions de type implicites. Par exemple, int en langage C peut être transformé en double. Le résultat est : il est facile de produire des comportements interdits, donc c'est faiblement typé
type dynamique et statique
type statique statiquement : Si des programmes mal comportés sont rejetés au moment de la compilation, ils sont typés statiquement ;
Typés dynamiquement de manière dynamique : Si les mauvais comportements sont rejetés au moment de l'exécution, ils sont typés dynamiquement.
3. Malentendu Tout le monde pense que le langage C doit écrire int a, int b et autres, mais Python n'a pas besoin d'écrire (vous pouvez écrire a, b directement ), donc C est statique, Python est dynamique. Cette compréhension n’est pas assez précise. Par exemple, Ocaml est typé statiquement, mais il n'est pas nécessaire de l'écrire explicitement. Ocaml est un type implicite statique
Les types statiques peuvent être divisés en deux types : Si le type fait partie de la syntaxe du langage, il s'agit d'un type explicite explicitement typé si le ; Le type est compilé par Derivation est un type implicite typé implicite, tel que ML et Haskell
4 Voici quelques exemplesnon typé : Assembly
Type faible, type statique : C/C++<.> Typage faible, vérification de type dynamique : Perl/PHP
Typage fort, vérification de type statique : Java/C#
Typage fort, vérification de type dynamique : Python, Scheme
Typage explicite statique : Java/C
Types implicites statiques : Ocaml, Haskell
Le contenu ci-dessus est à titre de référence uniquement !
Tutoriel recommandé :
Tutoriel vidéo PHPCe 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!