795 Shares 1144 views

PHP: manipulation de chaînes. Les fonctions de chaîne de PHP

Les sites peuvent être divisés en statique et dynamique. Après la maîtrise de HTML et CSS, ce qui permet de faire une belle carte de visite sur Internet, beaucoup pensent comment créer un site dynamique avec PHP. Dans ce codeur doit tenir compte qu'il commençait à apprendre la programmation web: comment travailler avec le site sera différent. L'un des premiers problèmes rencontrés par un débutant en PHP – chaîne de travail, la lecture et de les traiter.

Il est intéressant de noter que dans les fonctions de manipulation de chaîne PHP impliquent un certain nombre de méthodes, afin de commencer leurs coûts d'étude avec quelques manipulations simples, comme la ligne de retrait, la recherche, l'obtention ou le remplacement d'un sous-chaîne, enregistrer le changement et revenir à la longueur de la ligne. La plupart des fonctions ne fonctionnent pas bien avec des caractères cyrilliques. Par conséquent, tous les exemples sont écrits en anglais pour plus de clarté. Pour les lignes cyrilliques les mêmes fonctions sont utilisées, mais avec le préfixe MB_ (par exemple, mb_strpos ()). Avant d'utiliser analogues dans php.ini, vous devez supprimer la ligne; extension = php_mbstring.dll, simplement en supprimant le point-virgule.

Création et écriture d'une chaîne

Nous allons analyser la sortie de la ligne à l'écran en utilisant le langage connu de tous écho la conception. Le programmeur peut directement une chaîne de sortie:

echo « Cette nouvelle ligne »

ou d'abord créer une variable puis afficher:

$ Str = « Ceci est une nouvelle chaîne »;

echo $ str;

Si vous souhaitez afficher plusieurs lignes dans un ou le recours à leur concaténation:

echo "Ce". « Nouveau ». "String";

ou

$ Str1 = "Cette";

$ Str2 = "new";

$ Str3 = "string";

echo $ str1. str2 $. str3 de $;

Dans ce dernier cas, il affichera EtoNovayaStroka. L'écart peut être ajouté directement dans l'écho d'appel:

echo $ str1. ''. str2 $. ''. str3 de $;

Dans ce cas, l'écran affiche: « Cette nouvelle ligne. » Concaténation est possible non seulement dans la production, mais aussi de créer des lignes:

$ Str1 = "Cette";

$ Str2 = "new";

$ Str3 = "string";

$ String = str1 de $. ''. str2 $. ''. str3 de $;

echo $ string;

Echo affiche les lettres, et cyrillique. Si l'une des variables contenait le numéro, puis la concaténation de ce nombre sera converti en la ligne appropriée:

i = 2 $;

somme $ = $ i + i $ ; // $ maintenant somme contient le numéro 4

echo $ i. "+". $ I. "=". somme $;

Sera affiché: "2 + 2 = 4".

caractères spéciaux

Supposons que la ligne est définie par un guillemet ($ string = « Voici comment »). Ensuite, vous pouvez utiliser tout à fait heureusement les séquences d'échappement:

  • N effectue un saut de ligne;
  • retours chariot de R;
  • « Échappe aux guillemets doubles:
    • echo "La chaîne " double "guillemets"; // chaîne avec des guillemets doubles « »
  • $ Shields dollar;
  • \ backslash échappe.

Sequences beaucoup plus, tous se trouvent dans la documentation officielle de PHP.

Trouvez la première occurrence

Supposons que nous ayons une chaîne simple:

$ String = « Mon nom est Yemelyan et je suis 27 ans »;

Nous avons aussi deux rangées de noms:

$ name = "Yemelyan";

$ Autrenom = "Katherin";

Nous devons savoir si la première ligne des deux noms. Il utilise la fonction de strpos ($ str, recherche $). Il retourne la position de la sous-chaîne désirée recherche $, si la chaîne est contenue dans la première, str $. Dans le cas contraire, la fonction retourne une fausse valeur booléenne. Par exemple, strpos ($ string, autrenom $) retourne false, et les strpos (string $, $ name) – un entier. Le code sera tel (option d'écriture, lorsque la position est affichée à l'écran):

$ String = « Mon nom est Yemelyan et je suis 27 ans »;

$ name = "Yemelyan";

$ Autrenom = "Katherin";

strpos écho ($ string, autrenom $ ); // sorties faux

strpos écho ($ string, $ name ); // affiche la position de la première occurrence d'une chaîne

Notez que la numérotation des lignes commence à zéro, qui est, dans notre cas la dernière ligne affiche le numéro 11 (espaces sont également pris en compte).

Position de recherche de la dernière occurrence d'une sous-chaîne et les pièges

Si la fonction strpos () renvoie la position de la première occurrence, puis ses recherches strrpos inverses () pour la dernière occurrence d'une sous-chaîne.

Il y a quelques pièges associés au début de la numérotation. Il devrait prendre en compte: Dans la manipulation de chaînes PHP peut être compliquée par des restrictions par rapport. Ainsi, il est préférable de ne pas utiliser l'opération de comparaison avec une négation: strpos ($ str, recherche $) = false !. Dans une version de PHP avec des exemples d'une telle équivalence pourrait ne pas fonctionner correctement, parce que la numérotation des lignes commence à zéro et 0 interprétation logique est fausse. Cela étend la fonction strrpos ().

Comment trouver le nombre d'occurrences de sous-chaîne

Souvent, vous devez trouver est pas la première ou la dernière occurrence d'une sous-chaîne dans la chaîne, et le nombre total. Pour cette fonction fin substr_count (), qui gère au moins deux variables: substr_count ($ str, recherche $). Elle renvoie un entier. Si vous voulez réduire la portée de la recherche sur la ligne, la fonction a passé deux variables: le début et la fin de la ligne, respectivement. Telle est la fonction dans ce cas est appelé: substr_count ($ str, recherche $, $ start, $ end). La fonction recherchera substring recherche $ dans l'intervalle de $ début à la fin de $ de la chaîne d'origine str $. Si la chaîne ne se trouve pas, la fonction retourne zéro.

Comment changer le cas des lignes dans le PHP: exemples

Modifier la casse est souvent utilisé pour comparer des chaînes et conditionals. Disons que l'utilisateur doit entrer le nom du dieu suprême dans la mythologie nordique. Le programme est une version de « One », avec qui il sera comparé à la réponse de l'utilisateur. Si le texte saisi sera différent de celui existant (par exemple, un utilisateur écrit un « un » ou « un »), le programme retourne false au lieu de vrai. Pour éviter cela, utilisez les changements de registre de fonction. Ceci est souvent utilisé si le site est dans les balises PHP: Au lieu de centaines de variantes du mot « privé » (.. « privé », « privé », « personnel » et ainsi de suite) il n'y a qu'une seule balise en minuscules.

strtolower fonction () modifie le registre inférieur. Supposons qu'il y ait une ligne $ catName = « Fluffy ». fonction strtolower (catName $) retourne la chaîne "moelleux". Changement de boîtier supérieur peut être via la fonction strtoupper ().

Comment trouver la longueur d'une chaîne en PHP: Travailler avec les fonctions

Souvent, il a besoin de trouver la longueur de la chaîne. Par exemple, dans le travail de PHP avec des chaînes de ce type peut être nécessaire dans le cycle de création. Pour la chaîne de recherche utilisé la fonction strlen (), qui renvoie un nombre – le nombre de caractères. Il ne faut pas oublier que le dernier caractère aura un numéro strlen ($ str) -1, comme la numérotation commence par zéro.

L'obtention et de remplacement en sous-chaîne PHP: Utilisation des chaînes

Mise en fonction substring substr est effectuée () qui peut prendre deux ou trois arguments: substr ($ str, $ start, $ end). Disons que nous avons une chaîne $ string = « chat Fluffy », et nous voulons une sous-chaîne de la deuxième à la quatrième caractère. Depuis la numérotation commence à zéro, cette sous-chaîne de la variable ressemblera à ceci: $ nouvelleChaine = substr ($ string, 1, 4). Si nous introduisons la nouvelleChaine = substr $ ($ string, 1), nous obtenons une sous-chaîne du deuxième au dernier caractère (ie « luffy »). Ce code est identique à la chaîne complète de code à l'aide strlen (): substr ($ string, 1, strlen ($ string)).

Pour remplacer la sous-chaîne est utilisé la fonction str_replace () qui prend trois variables: str_replace (substr $, NewSub $, $ str). Contrairement à de nombreuses fonctions, str_replace () fonctionne correctement avec des caractères cyrilliques et n'a pas analogique préfixé. exemple:

$ Str = « Aujourd'hui , le temps est terrible! »;

$ NewStr = str_replace ( "terrible", "merveilleux", $ str); // Aujourd'hui , le beau temps!

chaîne de traduction à un certain nombre

Toute personne qui a étudié la programmation web, tôt ou tard pour convertir la chaîne en nombre. A cet effet, deux fonctions similaires sont utilisées: intval () et floatval (), dont chacun reçoit une variable chaîne de $. De l'autre, elles ne diffèrent que par le type de données renvoyées: intval () renvoie un nombre entier, et floatval () – nombre à virgule flottante.

Pour une utilisation en tant que intval () et floatval () exige que la chaîne commence par un nombre, et ils seront convertis en nombre. Si les chiffres vont aller ensemble de lettres, ils ignorent tout simplement. Dans ce cas, si la ligne commence par les lettres, l'utilisation de la fonction retournera zéro. Idéalement, la ligne ne doit contenir que des chiffres.

Traduction d'une chaîne

ont souvent besoin de convertir le nombre en une chaîne. Par exemple, si vous voulez prendre la moitié et d'ériger un carré (par exemple, vérifier si l'équation est satisfaite: 88 x 88 + 33 x 33 = 8833). Dans ce cas, la fonction strval (), qui retourne un numéro de chaîne. Après cette nouvelle ligne, vous pouvez effectuer toutes les autres actions: modifier, trouver une occurrence de la sous-chaîne, et d'autres fonctions. Si nécessaire, la ligne peut être reconverties au nombre de déjà décrit ci-dessus.

L'article a été considéré qu'une petite partie de toutes les fonctions associées à la ligne. Une partie des fonctions non documentées avec des symboles de travail, mais la plupart n'a pas été inclus dans le matériel en raison de la spécificité. Pour se familiariser avec ces fonctions est nécessaire de procéder à lire la documentation officielle sur PHP, qui affiche des informations en cours.