Une chaîne de caractères est une suite de caractères dont le nombre maximal n'est pas limité. Elle est toujours délimitée par des simples cotes ou des doubles cotes.
Exemple:
$str1="Bonjour";
$str2='Bonsoir';
Les deux variables $str1 et $str2 sont des chaînes de caractères vues de la même manière par le compilateur PHP. Cependant il y a une nette différence entre les simples cotes et les doubles cotes, surtout quand il s'agit d'évaluer les variables scalaires. En effet, si on place une variable scalaire (nombre ou chaîne de caractères) dans des doubles cotes dans une chaîne de caractères, elle sera évaluée et replacée par sa valeur. Par contre si on la place entre les simples cotes, elle sera imprimée telle qu'elle est.
Exemple:
$str="Bonjour";
echo "$str à tous"; // Affiche: Bonjour à tous
echo '$str à tous'; // Affiche: $str à tous
Concaténation de chaînes de caractères
Pour concaténer les chaînes de caractères on utilise l'opérateur point (.). Cet opérateur permet d'unir deux chaînes de caractères en une seule.
Exemple:
<?php
$nbr=2.3;
echo "L'arrondi supérieur de $nbr est ".ceil($nbr);
?>
Ce qui donne:
L'arrondi supérieur de 2.3 est 3
Puisque les variables sont évaluées entre les doubles cotes d'une chaîne de caractères alors il est possible de les y placer directement (cas de la variable $nbr dans cet exemple). Par contre, les fonctions et les variables tableau ne sont pas évaluées dans une chaîne, c'est ce qui m'a emmené à placer la fonction ceil($nbr) en dehors de la chaîne de caractères et la concaténer avec celle ci.
Fonctions agissant sur les chaînes de caractères
PHP dispose d'une panoplie de fonctions qui permettent de manipuler les chaînes de caractères. Elles sont tellement nombreuses qu'il faut des pages et des pages pour toutes les énumérer. Je me contente donc des fonctions les plus fréquentes et les plus utiles. Bien entendu vous pouvez les combiner ou créer vos propres fonctions PHP à partir de celles que nous allons soir pour réussir des traitement plus diversifiés.
Voici la liste des fonctions les plus utiles:
strlen($str): retourne un entier qui représente le nombre de caractères que contient la chaîne $str.
strtoupper($str): convertir la chaîne $str en majuscule.
strtolower($str): convertir la chaîne $str en minuscule.
ucfirst($str): convertit le premier caractère de la chaîne $str en majuscules.
trim($str): supprime les espaces de début de de fin de la chaîne $str.
rtrim($str) ou chop($str): supprime les espaces de fin de la chaîne $str.
substr($str,$deb,$nbr): extrait une partie de la chaîne de caractères en commençant de la position $deb et en retournant $nbr caractères (Notez que la position du premier caractère de la chaîne est 0).
ord($car): retourne le code ASCII du caractère $car.
chr($int): retourne le caractère correspondant au code ASCII $int.
addslashes($str): ajoute des antislashs avant les caractères spéciaux comme l'antislash, simple cote ou double cote qui se trouvent dans la chaîne de caractères $str.
stripslashes($str): supprime les antislashs qui se trouvent dans la chaîne de caractères $str.
strip_tags($str): supprime les balises HTML qui se trouvent dans la chaîne de caractères $str.
htmlentities($str): convertit certains caractères de $str en mot clés HTML.
md5($str): calcule le MD5 de la chaîne $str. MD5 est une fonction de hachage et signifie Message Digest 5. En cryptographie, le hachage désigne chiffrer sans avoir la possibilité de déchiffrer après. Le résultat de la fonction MD5 contient toujours 32 cratères hexadécimaux (16 octets), quelque soit la longueur de la chaîne $str. Elle est très utile surtout quand on souhaite stocker des données confidentielles comme des mots de passe (dans une base de données ou un fichier par exemple).
sha1($str): calcule le SHA1 de la chaîne $str. SHA1 est une fonction de hachage et signifie Secure Hash Algorythm. Elle agit comme la fonction md5() mais son résultat est constitué de 40 caractères (20 octes).
str_replace($occ,$rem,$str): retourne une chaîne de caractères où toutes les occurrences définies par $occ sont remplacées une à une par l'entrée respectives définie en $remp au sein de la chaîne de caractères $str.
Exemple:
<?php
$str="Bonjour";
echo strlen($str); // Affiche: 7
echo strtoupper($str); // Affiche: BONJOUR
echo substr($str,0,3); // Affiche: Bon
echo htmlentities("<font>"); // Affiche: <font>
for($i=0;$i<strlen($str);$i++){
echo substr($str,$i,1)." : ".ord(substr($str,$i,1))."<br />";
}
/*
La dernière boucle affiche:
B : 66
o : 111
n : 110
j : 106
o : 111
u : 117
r : 114
*/
echo md5($str); // Affiche: ebc58ab2cb4848d04ec23d83f7ddf985
echo str_replace(
array("o","n","u"),
array("x","y","z"),
"Bonjour"
);
// Affiche: Bxyjxzr
?>
Afficher les chaînes de caractères
Jusqu'ici nous nous sommes servis de la fonction echo pour afficher nos chaînes de caractères. Cependant, echo n'est pas une fonction proprement parlant car elle n'exige pas les parenthèses. Mais c'est le moyen le plus utilisé pour exporter nos chaînes de caractères sur l'écran.
Syntaxe:
<?php
echo "Bonjour";
?>
<?="Bonjour"?>
Les deux instructions sont identiques. La première affiche "Bonjour" à l'aide de echo dans un script PHP (<?php ?>). Quant-à la deuxième, elle s'agit d'un raccourcis de la fonction echo qui consiste à ouvrir le délimiteur court de PHP (<?) suivi de = suivi de la chaîne à écrire, puis le délimiteur de fermeture du script (?>).
Il existe aussi la structure print qui permet d'afficher un message de la même manière que la structure echo. Notez que print n'est pas une fonction non plus car elle n'exige pas les parenthèses.
Syntaxe:
<?php
print "Bonjour"; // Affiche: Bonjour
?>
Si vous avez déjà codé en C alors vous êtes certainement habitué à la fonction printf(). Cette fonction existe aussi en PHP. Elle permet d'afficher des chaînes de caractères formatées. Elle est rarement utilisée mais il est toujours utile de savoir qu'elle est prise en charge.
Syntaxe:
<?php
printf("Salut à %s","tous"); // Affiche: Salut à tous
?>