Maison >développement back-end >tutoriel php >Guide d'apprentissage PHP-Chapitre 6
Types en PHP
Points clés de ce chapitre
◆ Comprendre les huit types de PHP... Booléen,
◆ NULL, chaîne, tableau, objet et ressource
◆ Créer, lire, afficher et manipuler des objets de différents types
Convertir d'un type à un autre
Tous les langages de programmation ont certains Ces systèmes de types sont utilisés pour spécifier les types de valeurs qui peuvent apparaître dans un programme. Ces différents types correspondent souvent à différents niveaux de représentation dans la mémoire de l'ordinateur et, dans de nombreux cas, les programmeurs n'ont pas besoin de prendre en compte la représentation des bits (ou n'ont pas suffisamment de puissance pour la gérer). Le système de types de PHP est simple, rationnel et flexible, et il sépare les programmeurs des détails de bas niveau.
Dans ce chapitre, nous expliquerons les types de base de PHP (entier, double, booléen, NULL, chaîne, tableau, objet, ressource), et expliquerons comment lire, comment afficher et afficher, comment attribuer aux variables, comment convertir et comment combiner ensemble. Ce chapitre est à la fois une introduction et un document de référence. Les personnes déjà expérimentées en programmation peuvent le sauter. Cependant, seuls ceux qui ne le connaissent pas peuvent lire uniquement les premières sections. Peu importe qui ils sont, ils peuvent en apprendre davantage. à l'avenir, lorsque vous rencontrez un problème, vous ne pouvez pas revenir en arrière et rechercher des détails qui peuvent sembler sans importance au premier abord.
Premier principe : détendez-vous
PHP facilite la saisie de variables et de valeurs car il n'a pas besoin de spécifier de nombres ni de types, et parce qu'il peut gérer de nombreuses conversions de types. .
Le type de variable n'a pas besoin d'être déclaré en premier
Comme mentionné dans le chapitre précédent, le type de variable n'a pas besoin d'être déclaré à l'avance. Le programmeur peut directement utiliser l'opérateur pour spécifier. la valeur. PHP lui-même se chargera de déterminer le type de la valeur spécifiée, comme le montre l'exemple suivant :
$first_number=55.5;
$second_number="Pas un nombre à all";
Conversion de type automatique
PHP effectue automatiquement la conversion de type en cas de besoin. Comme la plupart des langages de programmation de nos jours, PHP peut également bien fonctionner lors de l'exécution de calculs de type numérique mixte, tels que la formule d'opération
$pi=3 0.14159
Le résultat sera une double précision nombre à virgule flottante, et l'entier « 3 » sera secrètement converti en nombre à virgule flottante avant que l'addition ne soit effectuée.
Configurer les types en fonction du contexte
PHP va plus loin que la plupart des langages lorsqu'il s'agit d'effectuer des conversions de types automatiques, jetez un œil à l'exemple ci-dessous
$sub= substr (12345,2,2);
Print("sub is $sub
");
La fonction Substr est conçue pour utiliser une chaîne comme valeur d'entrée, puis transmettre Renvoie une certaine sous-chaîne de la chaîne. Le point de départ et la longueur de la sous-chaîne récupérée sont déterminés par les deux autres paramètres de la fonction. Dans cet exemple, nous ne lui transmettons pas une valeur de chaîne, mais l'entier 12345. Quel sera le résultat ? En fait, il n'y aura aucun problème d'exécution. Le navigateur affichera toujours
Sub is 34
Puisque substr attend une chaîne au lieu d'un entier, PHP convertira automatiquement le nombre 12345 en The. la chaîne "12345" est obtenue, puis substr peut faire son propre travail.
En raison de cette fonctionnalité de conversion automatique de types, il est difficile pour PHP de faire des erreurs dans les types. Cependant, en fait, les programmeurs PHP doivent toujours faire attention à ce que l'utilisation mixte de types ne produise pas de "non". erreurs" , mais ce n'est pas le résultat correct."
Résumé des types]
PHP n'a que huit types... Booléen, chaîne, tableau, objet, NULL et ressource.
* entier La partie entière du nombre, sans point décimal, comme 495.
* Nombre à virgule flottante double double précision, similaire à 3.14159 ou 49.0, etc.
* Booléen De type booléen, seules deux valeurs sont possibles, VRAI ou FAUX (vrai ou pas vrai).
* NULL est un type spécial dont la valeur ne peut être que NULL.
* chaîne Une chaîne est une séquence de caractères, similaire à l'expression "PHP4 prend en charge les opérations sur les chaînes".
* tableau Un tableau est une collection d'autres valeurs nommées et indexées.
* objet objet, une instance d'une classe définie par le programmeur, peut envelopper d'autres types de valeurs et de fonctions spécifiques à cette classe
.
* tesource est une variable spéciale utilisée pour stocker les références à des ressources extérieures à PHP (telles que les connexions à une base de données)
Veuillez noter que les types Boolean, NULL et Resource ont été ajoutés au type PHP4, PHP3 le fait ne s'applique pas.
Bien sûr, les cinq premiers types sont des types de base, tandis que les deux types suivants (tableau et objet) sont des types composites. Ces types composites peuvent être utilisés pour combiner n'importe quelle valeur de n'importe quel type dans un groupe de variables. Mais ce n’est pas le cas des types de base. Nous ne décrirons que brièvement les types composites (tableau et objet) dans ce chapitre, car ils sont traités en détail dans leurs chapitres respectifs. Enfin, le type de ressource est un type spécial que les concepteurs PHP ne traitent pas directement, mais utilisent des fonctions spéciales pour accéder aux ressources ou les transmettre à d'autres fonctions selon les besoins.
Types simples
Les types simples (entier, double, booléen, NULL et chaîne) en PHP doivent être familiers aux personnes ayant une expérience en programmation (même si nous ne ciblons pas les personnes qualifiées, mais nous il faut les expliquer en détail). La seule chose qui peut surprendre les programmeurs C est le peu de types dont PHP dispose.
La plupart des langages de programmation ont plusieurs types numériques de tailles différentes. Les types numériques plus grands permettent une plage de valeurs plus large, mais occupent également plus d'espace mémoire. Par exemple, le langage C a un type court (pour les entiers relativement petits), un type long (pour les entiers potentiellement grands) et un type int (qui est un type intermédiaire, mais qui est en réalité soit un court, soit une somme longue). type), il a également des types à virgule flottante de précisions différentes, et le compromis entre l'utilisation de la mémoire et la fonctionnalité peut vous ennuyer, mais le choix du type a toujours du sens. Les développeurs PHP ont fait un excellent travail pour nous et ont simplifié le problème en utilisant seulement deux types numériques, qui correspondent aux types entier et virgule flottante en C.
Type entier
Entier est un type simple, correspondant à des entiers simples comprenant des nombres positifs et négatifs. Les entiers peuvent se voir attribuer des valeurs à des variables ou peuvent être utilisés dans des expressions de calcul, comme le montre l'exemple suivant :
$int_var=12345
$another_int=-12345 12345; /Égal à
Format de lecture
Les entiers peuvent en fait être lus de trois manières par rapport à différentes bases, décimale (base 10), octale (base 8) et hexadécimale (base 8) 16). Le format décimal est la valeur par défaut. Le premier chiffre des entiers octaux est spécifié par « 0 » et le premier chiffre de l'hexadécimal est « 0x ». N'importe quel format peut être précédé d'un signe "-" pour faire d'un entier un nombre négatif. Par exemple :
$integer_10 = 1000;
$integer_8 = -01000;
$integer_16 =
Print("integer_10:$integer_10;
");
Print("integer_8:$integer_8
");
print("integer_16:$integer_16
");
autre La sortie du navigateur est :
integer_10 : 1000
integer_8 : -512
integer_16 : 4096
(Veuillez noter que le format de lecture n'affecte que les entiers ) Comment il est modifié lors de la lecture, la valeur stockée dans $integer_8 ne se souvient pas qu'elle a été initialement écrite en base 8. En interne, il est naturel que ces nombres soient exprimés sous forme binaire, et le résultat final est la conversion en base 10, puisque ceci est imprimé par défaut, et il fusionne également la variable int dans la chaîne par défaut).
Plage
Quelle taille (ou petite) un entier peut-il avoir ? Étant donné que les entiers PHP correspondent au type long du C et que ce type dépend de la longueur des mots sur le système machine que vous utilisez, il est difficile de répondre sans équivoque à cette question. Cependant, sur la plupart des systèmes courants, le plus grand entier est « 231-1 » (ou 2 147 483 647) et le plus petit entier (négatif) est « -(231-1) » (ou - 2 147 483 647).
À notre connaissance, il n'existe actuellement aucune constante PHP capable d'indiquer le plus grand entier dans l'expression parfaite (similaire à MAXINT en langage C. Si vous avez des questions, veuillez consulter le contenu supplémentaire sur ). à la fin de ce chapitre. Si vous avez vraiment besoin d'utiliser des entiers très grands, PHP possède des fonctions de précision arbitraire. Veuillez vous référer à la section "BC" du chapitre 12.
double type
double est un nombre à virgule flottante double précision, par exemple,
$first_double =
$second_double = 0.456; >
$seven_double = 2.0;
Veuillez noter que $even_double est un nombre "arrondi à un nombre entier (rond)", mais cela ne signifie pas qu'il s'agit d'un type entier. Bien que les types entiers et les types à précision multiple soient stockés dans différents formats de base, par exemple, la formule d'opération suivante :
$five = $even_double 3 ; le résultat de
est un type de type à précision multiple , plutôt qu'un type entier, même si le résultat répertorié est "5". Cependant, dans tous les cas, vous êtes libre de mélanger des nombres à virgule flottante double précision et des entiers dans des expressions mathématiques et de laisser PHP choisir les types à gérer.
Par défaut, les multiples sont répertoriés avec le nombre minimum de décimales requis, par exemple, dans le code du programme,
$many = 2.2888800
$many_2 = 2.2111200 ;
$few = $many $many_2;
Print(“$many $many_2 = $few
”);
Parcourir La sortie suivante est générée dans le processeur :
2.28888 2.21112 = 4.5
Si vous avez besoin de contrôler plus précisément les résultats d'affichage de la sortie, veuillez vous référer à la fonction printf
au chapitre 10 Format de lecture
Le format typique des nombres à virgule flottante double précision est "-X.Y", où "-" est facultatif et utilisé pour spécifier des nombres négatifs, et X et Y sont des séquences numériques comprises entre 0 et 9. La partie X peut être omise (si le nombre est compris entre -1,0 et 1,0), et la partie Y peut également être omise (pas de point décimal). Les zéros de début et de fin peuvent être ignorés. Voici des exemples de nombres à virgule flottante double précision efficaces :
$small_positive = 0.12345;$small_negative = -.12345
$even_double = 2.00000;
$still_double = 2.;
De plus, la longueur de l'industrie double peut être spécifiée en notation scientifique en ajoutant des lettres à la fin du format précédent e est multiplié par un entier de 10, par exemple, « 2.2e-3 » correspondrait à « 2.2x10-3 ». La partie à virgule flottante du nombre n'a pas besoin d'être strictement limitée à la plage comprise entre 1,0 et 10,0. Toutes les lignes suivantes du code de routine de plage sont valides :
$small_positive=5.6-3;
Ptint("small_positive is $small_postive
"); $ large_positive=2.8e 16;
Ptint("large_positive is $large_postive
");
$small_negative = -2222e-10;
Ptint("small_negative est $small_negative
");
$large_negative=-0.00189e6;
Ptint("large_negative est $large_negative
”);
Leur sortie dans le navigateur est :
small_positive est 0,0055
larger_positive est 2,8e 16
sall_negative est -2.222e-07
large_negative vaut -1890
Notez que comme pour les entiers octaux et hexadécimaux, une fois que PHP a fini de lire le nombre, le format est lu. Cela n'a rien à voir avec le précédent variable. Il ne se souviendra pas qu'elle a été initialement spécifiée en notation scientifique, lors de la sortie de la valeur imprimée, PHP prendra sa propre décision et essaiera d'utiliser la valeur la plus extrême en notation scientifique, mais cela n'a rien à voir avec la lecture originale. format.
Ce qui précède est le contenu du Guide d'apprentissage PHP - Chapitre 6. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !