Symbole de nouvelle ligne dans la chaîne
Bien que PHP fournisse une séquence d'échappement (
) pour le symbole de nouvelle ligne, il est également bon de savoir que vous pouvez littéralement ajouter des nouvelles lignes au milieu des chaînes, et PHP peut également gérer cela. Ceci est pratique lors de la création de chaînes HTML, car les navigateurs ignorent les caractères de nouvelle ligne (
), vous pouvez donc formater la chaîne avec des caractères de nouvelle ligne pour raccourcir les lignes de code PHP :
Dans l'éditeur de texte, appuyez sur la touche "Entrée" cachée à la fin des deux premières lignes. Ces symboles de nouvelle ligne sont conservés dans la chaîne, donc une impression L'instruction produit trois lignes. de sortie PHP (la longueur des lignes varie en fonction de l'éditeur ; si l'éditeur revient automatiquement à la ligne lors de leur affichage, vous verrez en fait trois longues lignes de code). Cependant, le programme du navigateur ignorera ces sauts de ligne et décidera lui-même si et où couper la ligne lors de son affichage. De plus, si vous utilisez l'affichage du code source de votre navigateur pour observer le code source, vous verrez ces sauts de ligne.
Restrictions
Il n'y a pas de limite artificielle sur la longueur de la chaîne, tant qu'elle est dans la limite de mémoire disponible, il ne devrait généralement y avoir aucune limite sur la longueur de la chaîne
Array
Le type tableau de PHP permet aux programmeurs d'organiser ensemble des valeurs de nombreux types différents et de les indexer par mot (ou par nom). Si vous utilisez des variables portant des noms tels que $thing1, $thing2, $thing3, il est recommandé d'utiliser des tableaux ($things[1], $thing[2], $thing[3], etc.). Les éléments du tableau sont utilisés via des index entre crochets (dans cet exemple [1], [2], [3], etc.), et des éléments de types différents peuvent être affectés au même tableau.
La meilleure façon d'apprendre les tableaux PHP consiste à utiliser des exemples. Voici quelques exemples de programmes simples pour afficher le contenu des variables de tableau avant et après la première spécification :
Expliquons ce qui se passe avant et après la première mission. Avant de spécifier, malgré son nom, PHP ne sait pas que le but de la variable $my_array est d'être un tableau, et la traite uniquement comme une variable non spécifiée comme les autres variables. Cela signifie que lorsque la variable est placée entre guillemets doubles, la variable est interprétée comme une chaîne vide. Lorsque l'index du tableau fait référence à une variable non spécifiée ([5]), il sera également utilisé comme variable non spécifiée. Le résultat est que les trois premières instructions print se terminent toutes par [is].
Après avoir spécifié, $my_array devient officiellement un tableau, et le résultat est d'imprimer la chaîne "Array" lorsqu'une chaîne entre guillemets doubles est incluse. La cellule du tableau indexée par le numéro 5 a été remplie avec la chaîne "Slot#6" (en fait, dans la plupart des langages de programmation, les éléments du tableau sont comptés à partir de 0) afin que le numéro d'index 5 puisse être utilisé pour récupérer la chaîne. C'est la seule chose qui a changé : il n'y a toujours rien dans la cellule 0 de $my_array, donc il n'y a pas de changement comme avant.
Exécution de tableaux
Les tableaux sont l'une des fonctionnalités les plus intéressantes et les plus utiles de PHP. Bien qu'ils ressemblent aux tableaux d'autres langages, ils sont en fait assez peu pratiques à implémenter.
Dans la plupart des langages de programmation, une instruction similaire à la suivante est utilisée pour déclarer un tableau :
Int int_array[10];//Ceci n'est pas une harmonie de syntaxe PHP !
Cette instruction définira un total de dix entiers consécutifs dans la mémoire. Ces variables sont accessibles en fonction de l'index numérique dans la plage int_array de 0 à 9.
D'un autre côté, les tableaux PHP peuvent être combinés entre eux. Lorsque vous spécifiez un tableau, vous ajoutez en fait une nouvelle colonne et la combinez avec un nouvel index. Cet index peut être utilisé pour obtenir cette valeur. Cela a du sens pour les programmeurs familiers avec les tables de hachage, les tableaux PHP ressemblent davantage aux tables de hachage dans d'autres langages].
Cela implique une chose, c'est-à-dire que le lecteur n'a pas à s'inquiéter de spécifier un nombre très élevé de cellules du tableau, par exemple :
My_ayyay[100000000]= "pas effrayant"/ /Ce n'est pas un problème
Parce que le résultat d'un réglage comme celui-ci est qu'il n'y aura pas vraiment beaucoup de grilles. Ces grilles du milieu n'existent pas, donc elles n'occuperont aucune mémoire.
Chaîne comme index de tableau
Jusqu'à présent, nos exemples de tableaux n'utilisent que des entiers pour indexer les nombres. En fait, PHP peut également utiliser des valeurs de chaîne comme index, par exemple :
<.>$tasty['Spanish']= "paella";
$tast ['Japanese']= "sashimi";
$tast ['Scottish']= "haggis" ? ";
Ces index sont utilisés de la même manière que les index numériques, et les index numériques et chaîne peuvent être utilisés dans le même tableau sans conflit.
Pourquoi le type structurel manque-t-il ?
Certains langages de programmation (C, Pascal) fournissent des types "structure" ou "enregistrement", permettant de regrouper des variables de types différents. Dans un tel langage, la règle de base pour choisir un type composite est la suivante : si toutes les valeurs contenant la quantité d'eau sont du même type, sinon utilisez une structure.
Maintenant, PHP a un type d'objet qui, en plus de propriétés plus spéciales, possède également des caractéristiques similaires aux enregistrements ou aux types structurels. Cependant, avant d'introduire des objets, PHP n'a pas vraiment besoin de types structurels, car les tableaux PHP ne se limitent pas à utiliser un seul type de valeur. Si vous déplacez un dictionnaire de code d'un langage structuré vers PHP, une possibilité serait d'utiliser des tableaux combinables et d'utiliser des index de chaîne pour correspondre aux noms de champs d'origine.
Autres fonctionnalités des tableaux
En fait, ce chapitre ne présentera que brièvement les tableaux. De plus, les tableaux peuvent également être multidimensionnels et peuvent être spécifiés de nombreuses manières différentes, et il en existe de nombreuses utiles. fonctions pouvant être utilisées Les tableaux sont plus faciles à observer, à réutiliser et à manipuler. Les tableaux seront expliqués plus en détail au chapitre 11 de ce livre.
Objet
Un autre type de base de PHP est l'objet, qui est le canal permettant à PHP d'entrer dans le langage de programmation orienté objet. Comme un tableau, un objet est également un type composite et vous permet d'intégrer divers autres types dans un seul objet. L'objet possède des propriétés supplémentaires et plus précises, notamment la possibilité d'intégrer des fonctions sous forme de données, et d'autres concepts d'orientation d'objet peuvent être utilisés. , et nous vous encourageons à vous référer à cette section pour plus d'informations.
Ressources
Ressources est une valeur spéciale utilisée pour faire référence à la mémoire en dehors de PHP lui-même. Vous n'avez pas besoin de connaître grand-chose sur les ressources pour écrire PHP. Nous présenterons brièvement toutes les possibilités de ressources. mais n'hésitez pas à ignorer la section « Que faire avec les ressources » ci-dessous.
Que sont les ressources ?
Les ressources sont le type utilisé par PHP pour communiquer avec des programmes externes (qui peuvent être des bases de données ou des programmes de traitement d'images). PHP peut avoir besoin d'utiliser les ressources configurées en mémoire par ces programmes. De manière générale, les programmeurs PHP ne le font pas. Vous devez vous soucier de la libération de mémoire dans la conception PHP. Si vous générez une chaîne dans un programme PHP (qui doit occuper une partie de l'emplacement mémoire), vous pouvez oublier tous ses détails jusqu'à la fin du programme PHP (ou du Wed installé). serveur) libérera la mémoire appropriée une fois l'exécution de votre programme terminée, même si ce n'est pas immédiatement.
Les programmes externes (bases de données, etc.) peuvent ne pas être en mesure de libérer de la mémoire aussi intelligemment. Une fois votre programme exécuté, vous penserez peut-être à réserver la mémoire appropriée pour votre base de données. La façon dont PHP gère cela est Toutes les fonctions spéciales qui accèdent à la mémoire à partir de programmes externes. comme ceci renvoie les ressources et permet à PHP de vérifier si votre programme peut accéder aux ressources. Si personne ne peut utiliser les ressources, PHP le fera en comptant les ressources. La référence de la ressource permet aux programmes externes de résoudre correctement ce genre de problème. Si le nombre de références est 0, la ressource peut être libérée.
Comment gérer les ressources ?
Habituellement, les programmeurs PHP n'ont pas besoin de créer ces ressources eux-mêmes. Ils renvoient ces types de ressources en appelant certaines fonctions spéciales et les transmettent à d'autres fonctions qui nécessitent des types de ressources. Par exemple (comme nous le verrons dans la partie 2 de ce livre), vous pouvez appeler la fonction mysql_connect() (qui renvoie la connexion à la référence de données MySQL), stocker le résultat dans une variable et le transmettre à mysql_query(). fonction (utilisez cette connexion pour accéder à la base de données).
En gros, tout ce que vous devez faire pour utiliser cette ressource de connexion est de la stocker dans une variable et de la transmettre à la fonction requise. Vous pouvez l'effacer via PHP une fois le programme terminé. Dans tous les cas, si vous sentez que cette ressource a épuisé beaucoup de mémoire lors de l'exécution du programme et que vous souhaitez la libérer avant la fin du programme, vous devez faire quelque chose comme ceci :
$my_resource=mysql_connect(); //Variables de stockage
//Fragments de programme qui utilisent des ressources de connexion
$my_resource=NULL;//Les variables ne font plus référence à la ressource d'origine
La spécification de $my_resource PHP vérifiera qu'aucun autre programme n'utilise la ressource MySQL avant de la libérer.
Test de type
Étant donné que les variables peuvent changer de type par réaffectation, il est parfois nécessaire de déterminer le type d'une certaine valeur lorsque le programme est exécuté. PHP fournit non seulement une fonction générale de test de type (gettype()), mais fournit également des fonctions booléennes pour chacun des cinq types de données. Certaines de ces fonctions ont également des noms remplaçables. Le tableau 6-1 résume ces fonctions :
Tableau 6-1 Test de type des fonctions
Spécification et coercition
Comme mentionné précédemment, PHP convertit souvent automatiquement un type en un autre lorsque cela est nécessaire dans cet article, mais les programmeurs PHP peuvent également forcer cela à se produire. Dans les deux cas, le concepteur du programme doit savoir à quels résultats s’attendre.
Comportement de conversion de type
Voici quelques règles générales lors de la conversion d'un type à un autre en PHP :
Entier à virgule flottante multi-précision : établir une correspondance exacte Double précision nombre à virgule flottante (par exemple, int4 devient double4,0 fois).
Nombre à virgule flottante double précision vers entier : la partie décimale est arrondie.
Nombre en booléen : FAUX si égal à 0, VRAI sinon.
Nombre en chaîne : la chaîne est créée en fonction de son apparence lorsqu'elle est affichée sous forme de nombre. La sortie entière est affichée sous la forme d'une séquence de nombres et les nombres à virgule flottante double précision sont générés avec la précision minimale requise. Les valeurs à virgule flottante double précision avec un grand nombre de caractères après la virgule décimale sont converties en symbolique Kasaken. notation.
Booléen au nombre : Si VRAI, vous obtenez 1, si FAUX, vous obtenez 0.
Chaîne booléenne : Si c'est VRAI, vous obtenez 1, si c'est FAUX, vous obtenez une chaîne vide.
NULL en nombre : 0
NULL en booléen : FALSE
Chaîne en nombre : équivalent à "lire" un nombre dans la chaîne puis à l'échanger dans un type donné . Si le nombre ne peut pas être lu, la valeur est 0. Toutes les chaînes n'ont pas besoin d'être lues pour réussir.
Chaîne vers Booléen : FAUX s'il s'agit d'une chaîne vide ou 0, VRAI sinon.
Tableaux de types simples (nombres ou chaînes) : équivalent à créer un nouveau tableau avec la valeur attribuée à l'index 0.
Tableau vers Nombre : Non défini (voir description ci-dessous)
Tableau vers Booléen : FAUX si le tableau n'a aucun élément, VRAI sinon.
Tableau vers chaîne : c'est "Arryay".
Objet à numéro : non défini (voir description ci-dessous).
Object to Boolean : TRUE si l'objet contient une variable membre avec une valeur, sinon FALSE.
Objet vers chaîne : "Objet".
Ressource vers booléen : FALSE.
Ressource à numéroter : non définie (voir ci-dessous pour plus de détails)
Ressource à numéroter : parfois comme "ID de ressource n°1" (mais vous ne pouvez pas vous fier fortement à cette convention).
Dans la liste ci-dessus, nous avons constaté que certains types sont indéfinis lorsqu'ils sont convertis en types numériques. Dans la description ci-dessus, indéfini signifie que les concepteurs PHP n'ont rien spécifié dans la version précédente de PHP. Les règles de conversion sont définitives. , donc la mauvaise nouvelle est que cela dépend de la façon dont vous écrivez votre programme. Vous constaterez peut-être que vous pouvez convertir en un type numérique dans la version spécifique de PHP que vous utilisez, mais cela risque de ne pas fonctionner dans la version suivante.
Ce qui précède est le contenu du Guide d'apprentissage PHP - Chapitre 6 (suite). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !