Les chaînes sont l'un des types scalaires fondamentaux dans de nombreux langages de programmation, y compris PHP. Elles représentent des données textuelles, des caractères individuels aux documents entiers.

publicité

La programmation de chaînes la plus simple implique du texte à un octet, qui peut représenter 256 caractères différents. ASCII est l'encodage le plus courant. Le langage PHP de base a de nombreuses fonctions utiles pour manipuler ces chaînes.

Comment afficher le contenu d'une chaîne

Si vous avez fait de la programmation en PHP, vous avez probablement rencontré écho mais vous ne réalisez peut-être pas que ce n'est pas du tout une fonction. En fait, echo est une construction de langage, donc même si vous l'utilisez plus que n'importe quelle fonction de chaîne réelle, vous ne pouvez pas toujours l'utiliser à la place d'unfonction.

Vous l'utiliserez presque toujours comme ceci:

 echo "Bonjour le monde";

Mais vous pouvez en fait l'appeler comme une fonction :

 echo "Bonjour le monde";

Bien que cela y ressemble, il ne s'agit toujours pas d'un appel de fonction. Par exemple, vous ne pouvez pas affecter sa valeur de retour à une variable:

publicité
 $ a = echo "Bonjour le monde";
Erreur d'analyse: erreur de syntaxe, 'écho' inattendu T_ECHO

Une autre façon de produire la valeur d'une chaîne est d'utiliser print. Encore une fois, ce n'est pas vraiment une fonction vraie, bien qu'elle soit plus proche de un que echo. Comme echo, vous pouvez l'appeler sans parenthèses :

 imprimer "Bonjour le monde";

Mais, contrairement à echo, il renvoie une valeur que vous pouvez attribuer, bien que cette valeur soit toujours 1 :

 $ a = print "Bonjour le monde";
echo $ a; // 1

1. Sortie d'une chaîne à l'aide d'une fonction réelle

Le printf la fonction est en fait une fonction réelle. Comme écho et imprimer , il produit des chaînes, mais il a un comportement unique qui reflète la même fonction du langage c :

 $ username = "John";
$ length = printf "Hello,% s", $ username; // "Hello, John"
echo $ longueur; // 11

Le premier argument est toujours une chaîne, entre guillemets. Mais printf effectuera divers remplacements sur les séquences de caractères spéciaux à l'intérieur de la chaîne. Ces séquences commencent par un symbole de pourcentage, comme celui ci-dessus, % s . Dans ce cas précis,% s représente une chaîne et printf la remplace par l'argument suivant, qui est la valeur de $ nom d'utilisateur .

publicité

Le printf la fonction renvoie une valeur utile, la longueur de la chaîne formatée. Cela peut être utile pour le code qui ne peut pas connaître la longueur à l'avance, lors du passage de variables à printf par exemple. Vous pouvez utiliser cette valeur de retour pour déterminer la quantité d'espace physique que la chaîne occupera sur une ligne de commande.

2. Obtenir la longueur d'une chaîne

En parlant de longueur de chaîne, la méthode standard pour déterminer la longueur d'une chaîne est la strlen fonction. Cette fonction est très simple: elle prend un seul argument de chaîne et renvoie le nombre d'octets sous forme d'entier. Comme mentionné précédemment, pour texte ASCII , le nombre d'octets est le même que le nombre de caractères:

 $ length = strlen "Bonjour, Monde";
echo $ longueur; // 12

3. Extraction d'une partie d'une chaîne

Une tâche très courante, lorsqu'il s'agit de chaînes, est l'extraction d'une partie de cette chaîne. Il existe plusieurs façons de le faire, et la première présentée ici spécifie la position et la longueur de la sous-chaîne requise. Le substr la fonction extrait une partie fixe d'une chaîne en fonction de ces paramètres.

publicité
 $ salut = substr "Bonjour, Monde", 0, 5;
echo $ salutation; // "Bonjour"

Notez que, comme dans la plupart des langages de programmation, PHP compte les décalages de chaîne à partir de 0. PHP diffère de certains langages en ce que le deuxième paramètre de cette fonction est la longueur de la chaîne résultante.

En relation: Les pires et les plus difficiles langages de programmation

Une autre différence est que PHP prend en charge les valeurs négatives pour l'offset et la longueur. Si l'offset est négatif, le résultat commencera à compter à partir de la fin de la chaîne, pas du début :

 $ salut = substr "Bonjour, Monde", -5, 5;
echo $ voeux; // "Monde"

Si la longueur est négative, cela fera référence au nombre de caractères supprimés, plutôt qu'au nombre inclus :

 $ salut = substr "Bonjour, Monde", 0, -6;
echo $ salutation; // "Bonjour,"

4. Recherche dans une chaîne

Une partie importante du traitement de texte consiste à trouver l'emplacement d'une chaîne dans une autre. En PHP, vous pouvez y parvenir avec le strpos fonction:

publicité
 $ pos = strpos "Bonjour, Monde", ",";
echo $ pos; // 5

Vous pouvez utiliser des strpos en conjonction avec substr pour fournir une méthode plus générale pour extraire une partie d'une chaîne:

 $ string = "Bonjour, Monde";
$ pos = strpos $ chaîne, ",";
$ first_part = substr $ string, 0, $ pos;
echo $ first_part; // "Bonjour"

5. Conversion de la casse d'une chaîne

Les chaînes ASCII traditionnelles ont des variantes majuscules et minuscules bien définies. La version majuscule de a est A. La minuscule de Z est z. Le strtoupper et strtolower les fonctions effectuent ces conversions. Elles le font pour chaque caractère d'une chaîne ASCII:

 $ original = "bonjour, MONDE";
$ supérieur = strtoupper $ original;
$ inférieur = strtolower $ original;
echo "$ lower $ upper"; // "bonjour, monde BONJOUR, MONDE"

6. Élimination des espaces blancs

Parfois, vous vous retrouverez avec une chaîne comportant des espaces au début ou à la fin: espaces, tabulations ou caractères de nouvelle ligne. Ceci est souvent indésirable, mais couper peut le supprimer :

publicité
 $ trimmed = trim "Bonjour, Monde";
echo $ trimmed; // "Bonjour, Monde"

7. Briser une chaîne par un séparateur

Le exploser la fonction semble dangereuse mais ne vous inquiétez pas, elle ne cause aucun dommage durable! Au lieu de cela, elle convertit une chaîne en un tableau de chaînes, séparées par une autre chaîne - souvent un caractère. Cela peut être utile si vous voulez casserune phrase en mots séparés, par exemple.

 $ phrase = "Le renard brun rapide saute par-dessus le chien paresseux";
$ mots = exploser "", $ phrase;

Le $ mots la variable est maintenant un tableau contenant des mots individuels:

 [«Le», «rapide», «brun», «renard», «saute», «par dessus», «le», «paresseux», «chien»]

8. Diviser une chaîne en sous-chaînes de longueur fixe

comme exploser , le str_split la fonction divise une chaîne en un tableau de chaînes plus petites. Contrairement à exploser, les chaînes finales ne sont pas déterminées par leur contenu, mais par leur longueur.

publicité
 $ parts = str_split "Bonjour, Monde", 6;

Le $ pièces le tableau contient maintenant deux sous-chaînes de six caractères chacune:

 ["Bonjour", "Monde"]

9. Rechercher et remplacer dans une chaîne

Vous pouvez effectuer une simple opération de recherche et de remplacement sur une chaîne en utilisant str_replace . Il faut trois arguments: une chaîne à rechercher, une chaîne de remplacement et une chaîne d'origine à rechercher. La fonction renvoie la nouvelle chaîne :

 $ result = str_replace "o", "OO", "Hello, World";
echo $ result; // "HellOO, WOOrld"

PHP fournit de nombreuses façons utiles de travailler avec du texte

Puisque PHP est souvent utilisé dans le développement Web, le traitement du texte est une tâche courante.

Les fonctions présentées ici sont parmi les plus utiles pour traiter du texte en PHP. Il y en a une centaine fonctions de gestion des chaînes intégré dans la langue elle-même.

N'oubliez pas que les fonctions présentées ici sont destinées à être utilisées avec des chaînes ASCII, pas avec des chaînes Unicode. PHP prend également en charge Unicode et d'autres schémas d'encodage de caractères multi-octets, avec un ensemble distinct de fonctions .

publicité
Comment créer un site Web PHP simple

Vous voulez créer un site Web mais ne savez pas par où commencer? Créer un site Web PHP de base vous mettra sur la voie du développement Web.

À propos de l'auteur
publicité