|
Les variables PHP
Une variable est un conteneur utilisé pour renfermer une certaine
information, pas nécessairement numérique. Elle a un nom. Par exemple,
la variable $age peut contenir le nombre 12.
Ecriture des noms de variables
Voici quelques règles de base à respecter pour le nom d'une variable :
- Tous les noms de variable doivent commencer par le caractère dollar ($)
- A la suite de ce $, on ne peut trouver qu'une lettre ou un souligner (_). Jamais de chiffre
- Un nom de variable peut compter n'importe quel nombre de caractères.
- Un nom de variable peut comporter des lettres, des chiffres ou des souligner (_)
- Dans un nom de variable, PHP tient compte de la casse. $Toto et $toto représentent deux variables distinctes.
[ TOP ]
Affectation d'une valeur à une variable
Une variable peut contenir un nombre un ou chaîne de caractères. On
range de l'information dans une variable au moyen de l'opérateur
d'affectation : le signe égal (=)
$age=12;
$nom="Martin";
Pour affiche à l'utilisateur le contenu de la variable utiliser cette instruction :
echo $age;
Vous avez < ? echo $age? > ans
[ TOP ]
Supprimer une variable
Pour vous débarasser d'une variable. Il faut utiliser une fonction spécialisée de php et écrire :
unset($age)
[ TOP ]
Les Tableaux de variable
Dans un tableau(array en anglais), on peut ranger un ensemble de
variable ordinaires(dites scalaires) sous un nom unique. C'est un
excellent moyen de conserver un groupe de variables de même nature ou concernant
le même objet. Par exemple, vous pouvez conserver dans un tableau
trois éléments concernant des chemises : leur taille, leur couleur,
et leur prix, et appeler le tableau qui les contientdra $chemiseInfo.
Ce tableau, vous pourrez ensuite le manipuler de diverse façons. Le trier, par exemple.
Création d'un tableau
La façon la plus simple de créer un tableau est d'ajouter une paire de crochet à la suite
d'un nom de variable et de lui affecter une valeur. Pour créer un tableau
contenant les différents types d'animaux du premier exemple, on pourrait écrire :
$animaux[0]= "Dragon";
Dès lors, il existe un tableau $animaux contenant pour l'instant la valeur Dragon
De même qu'on écrit un paire de parenthèses à droite du nom d'une
fonction pour indiquer qu'il s'agit d'un nom de fonction, on a
l'habitude d'écrire une paire de crochet à droite d'un nom de tableau pour marquer
qu'il s'agit d'un tableau et non d'une variable scalaire(ordinaire).
Pour ajotuer d'autre valeurs dans ce tableau, on peut écrire :
$animaux[1]="chat";
$animaux[2]="Chien";
Un tableau peut être considéré comme une liste de paires de clés et de
couleurs. Dans l'exemple que nous venons de donner, les clés sont des nombres (0,1,2).
Plus simplement, on peut écrire :
$animaux[]="dragon";
$animaux[]="chat";
$animaux[]="chien";
En l'absence d'indice(le nombre placé entre crochet), la première valeur adoptée est 0 et les valeurs
suivantes sont les entiers consécutifs 1,2,3... Si, ensuite, on écrit :
echo $animaux[1];
la valeur suivante sera affichée :
chat
Au lieu de donner des valeurs numériques aux indices, on peut leur
attribuer des noms écrits sous forme de chaînes de caractères, comme
dans l'exemple suivant qui concerne une liste des chef de département :
$chef["president"]="Martin";
$chef["secretaire"]="Manon";
$chef["adjoint"]="Eric";
secretaireest ici la clé du second élément du tableau $chef[] et
la valeur qui lui correspond est Manon.
Il existe un moyen encore plus simple de créer et de le garnir de quelque valeur :
$chef=array("president"=>"Martin",
"secretaire"=>"Manon",
"adjoin"=>"Eric");
[ TOP ]
Suppression d'élément dans un tableau
Pour supprimer un élément d'un tableau. Il ne suffit pas de lui donner la valeur()
(dansle cas d'un tableau de valeur numérique) ou "" (dans le cas d'un tableau de chaîne de caractères),
il faut utiliser la fonction native unset() que nous avons vu plus haut :
unset($animaux[1]);
Tri de Tableau
¨
Trier un tableau signifie réordonner son contenu selon un certain critère,
par exemple, en ordre alphabétique ascendant. Pour cela, PHP propose plusieurs fonctions.
La plus simple est sort()
sort($animaux);
Cette fonction trie le tableau selon les valeurs qu'il contient etréassigne de nouvelles
valeurs aux clés selon le résultat du tri. S'il s'agit d'un tableau
de chaîne de caractère, celles dont l'initiale est un chiffre apparaîtron en tête,
suivies par celles dont l'initiale est une majuscule.
$animaux = array("dragon","chat" ,"chien");
Après l'instruction
sort($animaux)l
le tableau contiendra :
$animaux[0]="chat";
$animaux[1]="chien";
$animaux[2]="dragon";
sort($chef);
$chef=array("president"=>"Martin",
"secretaire"=>"Manon",
"adjoin"=>"Eric");
$chef["adjoin"]="Eric";
$chef["secretaire"]="Manon";
$chef["President"]="Martin";
Le tri est alors effectué sur la valeur de la variable de tableau.
| Fonction de tri | Rôle |
| sort($tableau) | Tri par valeur en assignant de nouvelles valeurs au clés. |
| asort($tableau) | Tri par valeurs, les clés étant conservé |
| rsort($tableau) | Tri par valeurs en ordre inverse, en assignant de nouvelles valeurs aux clés. |
| arsort($tableau) | Tri par valeurs en ordre inverse, les clés étant conservées. |
| ksort($tableau) | Tri sur les clés |
| krsort($tableau) | Tri en ordre inverse les clés |
| usort($tableau, fonc) | Tri au moyen de la fonction utilisateur fonc() |
[ TOP ]
Extraction de valeurs à partir d'un tableau
Vous pouvez accéder directement à n'importe quelle valeur d'un tableau
en écrivant, par exemple :
$Chef_Eric = $Chef["adjoin"];
Ce qui affichera :
Eric
Dans un echo, si le nom du tableau se trouve a l'intérieur d'une autre chaîne
de caractères, vous devez la placer entre une paire d'accolade :
echo "Le chef du bureau est {$chef['adjoin']} ";
Vous pouvez extraire une seule fois plusieurs valeurs d'un tableau
au moyen de l'instruction list qui permet de les ranger dans
une suite de variable scalaires
$infoC = array ("ZL", "bleu", 12.0);
sort($infoC);
list($valeur1, $valeur2) = $infoC;
Echo $valeur1." ".$valeur2." ";
ce qui affichera :
XL
bleu
En effet,"XL" commence par une majuscule, laquelle a priorité sur
l'initiale bas de casse de "bleu", à la suite du tri par la fonction
sort().
Dans certain cas vous vous intéressez aux clés, non aux valeurs,
comme dans l'exemple suivant :
$InfoC = array("taille"=>"XL",
"couleur"=>"bleu",
"prix"=>"12.0");
$valeur = $InfoC['taille'];
$cle = key($InfoC);
echo "$cle : $valeur ";
Vous verrez afficher :
taille : XL
Vous pouvez extraire toutes les valeurs d'un tableau au moyen de la fonction
extract(). Chaque valeur est recopiée dans une variable ayant pour nom
la valeur de la clé précédée du caractère $. Par exemple, les instructions
qui suivent extraient toutes les informations du tableau $infoC et les affichent :
extract($InfoC);
echo "taille : $taille couleur : $couleur Prix : $prix ";
Ce qui affiche :
taille : XL
couleur : bleu
prix : 12.0
[ TOP ]
Parcourir des éléments dans un tableau
Vous aurez souvent à effectuer un certain traitement sur tous les
éléments d'un tableau : afficher chaque valeur, la placer dans une base de
données ou y ajouter une constante. C'est ce qu'ont appelle une itération.
Pour exécuter cette tâche, PHP vous propose les deux moyens suivants :
- Manuellement : Déplacer le pointeur d'un élément à l'autre
- Avec la boucle foreach : Cette instruction est conçue pour faire automatiquement
le travail, su début à la fin du tableau, valeur par valeur
Manuellement
Représentez-vous votre tableau sous forme d'une liste et imaginez un pointeur désignant
l'un des élément de cette liste. Il reste immobile tant que vous ne le déplacez
pas. Pour le déplacer, vous disposez des fonctions suivantes, qui portent
sur le tableau dont le nom est placé à l'intérieur des parenthèses :
- current() : Désigne l'élément sur lequel est dirigé le pointeur. Celui-ci ne change pas de valeur
- next() : Déplace le pointeur vers l'avant. Il désigne maintenant l'élément suivant l'élément actif avant l'utilisation de la fonction
- previous() : Déplace le pointeur vers l'arrière.
- end() : Déplace le pointeur vers le dernier élément du tableau
- reset() : Déplace le pointeur sur le premier élément du tableau
[ TOP ]
ForEach()
Cette instruction permet, à chaque exécution, d'accéder à l'élément
suivant du tableau et de répéter, pour chacune de ces valeurs, le bloc
d'instruction qui la suit. Sa forme générale :
foreach ($NomTableau as $nomCle =>$nomValeur)
{
bloc d'instruction
}
avec :
- $nomTableau : Nom du tableau à explorer.
- $nomCle : Nom de la variable dans lequelle vous voulez placer la clé de l'élément.
Cette valeur est facultative. Si vous l'omettez la valeur sera rangée dans la variable $nomValeur
- $nomValeur : Nom de la variable dans lequelle sera placée la valeur
Exemple :
ksort($chef);
foreach($chef as $Dept =>$ville)
{
echo "$ville : dept ";
}
Initialement, foreach place le pointeur en tête de tableau.
Il n'est donc pas nécessaire d'apeler la fonction reset().
[ TOP ]
Les constantes PHP
Une constante n'a généralement pas de nom mais seulement une valeur,
et cette valeur ne peut pas être modifiée. On utilise les constantes
lorsque la valeur qu'elle représentent ne risque pas de changer.
Exemple : Vous parlez de la date de la bataille de Marignan, vous pouvez
coder directement 1515. On peut néanmoins donner un nom
à une constante. De cette façon, on identifiera plus facilement ce qu'elle représente.
La définition de cette constante sera généralement placée en tête du programme
et on pourra s'y référer sous le nom symbolique dans tout le programme.
Pour définir une constante, on utilise l'instruction defin
sous la forme suivante :
define ("nom", "valeur");
define ("Marignan", "1515");
echo Marignan;
[ TOP ]
|