Valid XHTML 1.0 Transitional CSS Valide !

PHP 2 : les variables

2-1 Les variables simples

Les variables simples sont précédés du S barré du dollar $. Contrairement à l'algorithme, la déclaration se fait directement lors de l'utilisation. NB : une variable non créée, non initialisée, n'a pas de valeur. On utilise directement $nom_variable dans une chaîne de caractère ou dans echo.

premier exemple de variable avec echo

la valeur de la variable "a" est 15
valeur de a : 15
15

Autre bloc PHP

2*15

La variable une fois déclarée et initialisée peut être utilisée tout au long de la page, appelée aussi script

Dans le cas d'une inclusion de fichier, les variables, contenues dans le fichier inclus, existent comme si elles avaient été déclarées, utilisées à la place de l'inclusion.

En PHP, les variables ne sont pas typées : elles peuvent "contenir" aussi bien des valeurs numériques (entières ou décimales), des caractères (chaînes ou pas), des tableaux ainsi que d'autres types de variables possible. Les variables sont aussi associées à de nombreux autres types comme les identificateurs de fichiers par exemple. Une même variable peut contenir successivement plusieurs données de types différents cf l'exemple ci-dessous.

valeur de a : 15

valeur de a : c

valeur de a : bonjour

valeur de a : 12.25

valeur de a : 15, valeur de b : 17, valeur de c : 32

Exemple :32 Les guillemets ou apostrophes ne sont pas nécessaires pour afficher une variable. Exemple : 32

Par contre si on utilise des balises html, les guillemets sont nécessaires. Les balises HTML sont notamment nécessaires pour passer à la ligne suivante et la mise en forme des paragraphes.

La concaténation est une opération qui permet d'assembler plusieurs informations, variables en une seule variable. Un exemple ci-dessous : création de 3 variables $sujet, $verbe et $adjectif. La variable $phrase est la concaténation des 3 premières ce qui s'écrit $phrase=$sujet.$verbe.$adjectif;

affichage des variables sujet, verbe et adjectif en utilisant 3 echo
Il
fait
beau.
affichage des variables sujet, verbe et adjectif en utilisant 1 seule fois echo, tout d'abord avec la virgule, puis avec le point.
Il
fait
beau.
Il
fait
beau.
Il fait beau.

NB : ne pas confondre concaténation et affichage de plusieurs informations ou variables.

2-2 Les tableaux

Les tableaux permettent de réunir des séries de données homogénes (données toutes du même type) ou hétérogènes (données de différents types). En PHP, il existe deux types de tableaux : les tableaux indexés numériquement, les plus classiques, et les tableaux associatifs, qui n'utilisent pas d'index numérique mais un index de type chaîne de caractères.

2-2-1 Les tableaux indexés numériquement

Comme les variables, la déclaration des tableaux se fait directement lors de l'utilisation.

On nomme un tableau comme toute variable c'est à dire en le précédant du S barré, $. On le définit avec array(a,b,c,d). Exemple : $tab=array(12,15,16,19);

Comment lire un tableau? echo $nom_tableau[n] permet d'afficher la case n+1 car la première case a pour indice 0.
Ci-dessous différents exemples de déclaration de tableau et d'affichage des valeurs des variables de ses cases.

Tout d'abord un tableau, appelé num, de 4 variables numériques :

1234

Puis, un tableau, appelé caract, de 4 variables de type caractère :

abcdefghijklmno

Puis, un tableau, appelé chaine, de 4 variables de type chaîne de caractères :

optimiste bleukayak jauneplanche à voile rougewave-ski orange

Comment modifier une variable de ces tableaux? $nom-tableau[indice de la variable]=valeur de la variable. Exemple : $num[3]=999 pour attribuer la valeur 999 à la 4ème variable du tableau num.

123999

Pour connaître la taille d'un tableau, on utilise la fonction count dont la synthaxe est count($nom-tableau);

Le tableau "num" a 4 variables numériques.Le tableau "caract" a 15 variables caractères.Le tableau "chaine" a 6 variables chaînes caractères.

NB: Comme la première variable d'un tableau a pour index 0, la dernière variable a donc pour index le résultat de count-1.

On peut utiliser la fonction count pour modifier la valeur d'une variable.

abcdefghiZklmnX

Récapitulatif de l'utilisation du tableau indexé numériquement.

2-2-2 Les tableaux associatifs

les tableaux associatifs utilisent des index non pas de type numérique mais de type chaîne de caractères. Pour accéder à la valeur de la donnée, il est donc important de retenir la chaîne de caractère et non pas l'indice. Les base de données ainsi créées sont plus lisibles et donc plus simples.

1er exemple : 1ère technique

valeur de la case janvier : 1
valeur de la case fevrier : 2
valeur de la case mars : 3

2ème exemple : 2ème technique

Nom : Hamon
Prénom : Hugo
Age : 19
Adresse : 7,rue de l'avenir

Nom : Hamon Prénom : Hugo Age : 19 Adresse : 7,rue de l'avenir Code postal : 180000

Pour passer à la ligne, il est préférable d'utiliser la balise html br plutôt que /n en PHP.

foreach : une fonction intéressante pour lire le contenu des tableaux. A PRECISER

2-3 Les chaines de caractères : des fonctions particulières.

la fonction \n : permet un passage à la ligne. Elle est indissociable de la fonction nl2br. Il existe aussi \r, \r\n ou \n\r. Pour en savoir plus, lire wikipédia. NB : elle fonctionne comme la balise PRE : elle garde les sauts de ligne dans le texte enregistré. Cette fonction peut s’avérer très pratique dans le cas d’affichage de textes issus d’une base de données. Exemple :

Le chat et la souris.
Le chat et la souris jouaient dans le jardin.
Ils se couraient l'un après l'autre puis se cachaient.
Tous les endroits étaient bons
pour ne pas être vu par l'autre partenaire de jeu.Une fois
la souris,
a grimpé
sur le porte-manteaux
et s'est nichée
dans la poche d'une veste.
Un homme a mis ce vêtement et est partie à l'extérieur.
Le jeu a été interrompu.
Wikipédia pour en savoir plus

La fonction nl2br($variable) convertit tous les sauts de lignes PHP (\n, \r, \r\n, ou \n\r ), en saut de ligne html (br/). Syntaxe : echo nl2br("chaîne de caractères comportant un ou des \n, \r , \n\r ou \r\n ");

La fonction nl2br() est pratique.
La fonction nl2br()
est pratique.

La fonction chop supprime les espaces inutiles en fin de chaîne. Sa syntaxe est : chop()

Hello World!

Hello World!

La fonction explode découpe une chaîne de caractère en fonction d’un séparateur, et retourne un tableau. Syntaxe : $tableau_destination=explode(séparateur exemple :" "(espace), nom_chaine_à_découper);
Cette fonction peut être utilisée par exemple pour savoir combien de caractère "x" présente une chaîne de caractères. En effet, grâce au nombre de cases créées dans le tableau, on saura le nombre de "x". Si le tableau, créé par explode, a 2 cases, il n'y a qu'un seul "x". Si le tableau a 3 cases, il y a deux "x", et ainsi de suite.

piece1 piece2 piece3 piece4 piece5 piece6
piece1
piece2

La fonction str_replace remplace soit une partie d'une chaîne de caractères par une autre, soit une chaîne de caractères par une autre. Syntaxe : $chaine_caract_destination=str_replace('lettre,mot ou chaîne à remplacer','lettre,mot ou chaîne de remplacement','chaîne de caractère source, à modifier');
pim pam poum
Je mange une pomme
Je mange une banane
Je mange une banane et des oranges

La fonction strcmp compare la taille de deux chaînes de caractères, et retourne un entier. Le nombre de caractères de la 2ème chaîne est soustrait à celui de la 1ère.
Si les deux chaînes ont la même longueur, le même nombre de caractères, le résultat est 0.
Si la première chaîne a plus de caractères, le résultat est positif.
Par contre, si elle en a moins, le résultat sera négatif.
Syntaxe pour afficher le résultat de la comparaison : echo strcmp($1ère chaîne,$2ème chaîne) ou echo strcmp('1ère chaîne','2ème chaîne');

Comparons les deux chaînes abc et abcdef.
On obtient : -3.
Conclusion : si la 2ème chaîne de caractères est plus longue que la 1ère, on obtient un résultat négatif, égal à la différence de nombre de caractères.
Inversons les chaînes.
On obtient : 3.
Conclusion : si la 1ère chaîne est plus longue que la 2ème, on obtient un résultat positif, égal à la différence de nombre de caractères.
Comparons les mots bonjour et demain.
On obtient : -1.
On obtient : -1
On obtient : 1
Longueur de la variable phrase : 21
Longueur de la variable phrase2 : 35
Si on compare la longueur de ces deux variables avec strcmp, on devrait obtenir-14.
Or on obtient -14.
-1
-1

0

La chaîne string "La fonction nl2br() est pratique." contient 35caractères.
La chaîne string2 "La fonction nl2br est pratique." contient 31caractères.
La chaîne phrase "Je mange une pomme" contient 18caractères.
Et la comparaison des chaînes string et phrase donne un résultat de : 1
Et la comparaison des chaînes string2 et phrase donne un résultat de : 1

La fonction strlen retourne la taille d’une chaîne de caractères. Syntaxe : strlen($chaîne ou "chaîne");
Cette fonction a été utilisée dans la partie précédente.

La fonction strpos renvoie la position de la première occurrence d’une chaîne pattern dans une chaîne ch.
Syntaxe : strpos("chaîne principale","morceau de la chaîne principale");
Ainsi s'effectue le calcul sans pour autant ne rien afficher.

Un exemple : A quelle position, après combien de caractères dans la chaîne "Hello world!", la chaîne "wo" est-elle située? Réponse : 6
La lettre w est donc la 7ème lettre la chaîne principale

La fonction print affiche des cractères ou des chaînes de caractères, et/ou des variables. Syntaxe : deux possibilités : print "chaîne de caractères"; ou print("chaîne de caractères");
Quelques exemples :

Bonjour le monde print() fonctionne aussi sans les parenthèses.Ce print() se répartit sur plusieurs lignes. Il affiche aussi les nouvelles lignes. Ce print() se répartit sur plusieurs lignes. Il affiche aussi les nouvelles lignes. L'échappement de caractères se fait : "comme ceci".

Ci-dessous un exemple reprenant des fonctions de manipulation de chaînes de caractères précitées

voilà la chaîne : hello le monde

éclatement de la chaîne : case 1 : hello, case 2 : le, case 3 : monde

remplacement des sauts de lignes par des br hello le monde


remplacement de l par L : heLLo Le monde

taille de c1 : 18

2-4 Types de variable, transtypage (cast)

Les variables ne sont pas typées en PHP. Evidemment, dans certains cas, il est nécessaire de transformer explicitement une variable en un type bien défini, pour permettre un ensemble d’opérations spécifiques : il est impossible d’additionner deux chaînes de caractères, alors que si ces chaînes représentent des entiers, ceux-ci peuvent être additionnés, après conversion vers un type de données adequat évidemment !

Les différents type de données reconnus sont :

Le changement de type d'une variable est appelé un transtypage ou cast.
La syntaxe pour opérer : $nouvelle_variable:(nouveau_type_souhaité) $variable_avant_transtypage;

L’exemple ci-dessous montre comment transformer une variable "chaîne de caractères" en une numérique de type entier. Evidemment, il faut que la variable initiale soit composée de nombres entiers. En effet, il est impossible de transformer une chaîne de caractères "abcd" en un entier. Toutefois un essai d’une telle transformation ne provoquera pas d’erreur, et une valeur arbitraire, généralement 0, sera affectée lors de la transformation.

v1 et v2 sont les chaînes : "32" , "33"
Il est possible de les transformer en entiers pour en faire la somme :65
32
33
65

NB : Les tableaux par "apprendre-php.com" Cliquer ici pour retourner à la page d'accueil