Les variables en PHP

Les variables en PHP
Comme dans tous les langages de programmation, un certain niveau d'abstraction est nécessaire. On ne traite pas le nom d'un client spécifiquement mais on traite UN nom.
Le code que l'on écrit pour traiter le problème de monsieur X doit être le même que pour traiter le même problème de madame Y
Ainsi, on ne manipule par la donnée en elle-même mais une représentation de celle-ci, une variable. Cette variable est un espace de stockage dans lequel on place une information pour l'utiliser ou la ré-utiliser. Cette variable est stockée en mémoire jusqu'à sa destruction. En ce sens, elle diffère du stockage en mémoire. Elle n'est disponible que durant l'exécution du script.
La variable en php
Une variable en php commence par un $. On bannit les caractères spéciaux, les accents, les espaces et on ne commence pas par un chiffre.
Les chaînes de caractères (string) sont encadrés par des guillemets simples OU doubles.
Les chiffres, entiers ou réels, ne sont PAS encadrés par des guillemets.
$nom = "masson";
$prenom = 'seb';
$age = 34;
$tailleEnMetre = 1.84;
Le dollar initialise une variable qui est nommée juste après. Le signe = est appelé un opérateur d'affectation. On affecte une valeur à notre variable.
On stocke quelque chose dedans.
Le principe d'une variable est de changer. Elle varie au cours de l'exécution du script.
Le PHP est un langage faiblement typé. La variable peut donc être réaffectée au cours du script avec une valeur de type différente.
$infos = array(78,'masson', 89, 'seb');
$infos = 45;
$infos = "Cette variable a changé de type 2 fois";
Les constantes
Parfois, on a besoin de stocker une information dans une variable mais on voudrait que cette variable ... ne change pas !
C'est le rôle d'une constante. C'est un espace de stockage dont le contenu ne change pas.
Un exemple ? le taux de TVA sur un site marchand. Un code promotionnel ou un pourcentage de remise ...
define('TVA',20);
La constante est créée à partir d'une fonction native define() qui prend deux paramètres
- Le nom de la constante
- Sa valeur
Par convention, le nom d'une constante est écrit en majuscules pour le différencier des autres variables.
Les règles d'encadrement du texte avec des guillemets restent valables pour les constantes.
Les arrays
Un array (ou tableau) permet de stocker plusieurs informations dans une seule variable.
Par exemple, pour stocker les informations d'un client, il est alors inutile de créer une variable par information : une pour le nom, une pour le prénom, une pour la ville ...
toutes ces informations peuvent être stockées dans une seulee variable. La variable représente alors l'ensemble des informations du client, donc le client en lui-même.
Les arrays indicés
$client = array('Masson', 'seb', 23);
Les parenthèses contiennent l'ensemble des informations du client. Pour accéder aux informations, en revanche, impossible d'appeler directement la variable $client. Il faut appeler chaque élément par sa position dans le array en commençant à compter à partir de 0 .
Ainsi, pour accéder au nom de famille, il faudra appeler l'indice 0.
echo $client[0]; // Masson
echo $client[1]; // seb
Les arrays littéraux
Pour créer un array, on peut également ne pas l'appeler mais le créer. On parle alors d'un array littéral et utilise des crochets [ et non plus des parenthèses.
$personne = ['Masson', 'seb', 28];
echo $personne[0]; // Masson
echo $personne[1]; // seb
Les arrays associatifs
Les arrays associtifs fonctionnenent sur le même principe mais au lieu d'utiliser des indices, on utilise des mots pour matérialiser l'emplacement de l'information dans le array, rendant ainsi le code plus lisible.
$client = array('nom' => 'Masson', 'prenom' => 'seb', 'age' => 56);
echo $client['prenom']; // seb
Il est parfois plus simple de le voir écrit ainsi :
$client = array(
'nom' => 'Masson',
'prenom' => 'seb',
'age' => 56
);
echo $client['prenom']; // seb
On peut utiliser des guillemets simples ou doubles, comme pour n'importe quelle variable. Les chiffres en restent exemptés.
La concaténation
Il est possible de concaténer les variables, évidemment, c'est-à-dire de les inclures dans une chaîne de caractères.
Il existe plusieurs solutions pour cela. Soit on utilise le symbole . (point)
$client = array('Masson', 'seb');
echo "<p>Bonjour ".$client[0]." ".$client[1].", bienvenue.</p>";
Chaque passage entre une chaîne de caractères et une variable est séparée par un point. Mais chaque string (chaîne de caractères) reste encadrée par des guillemets.
Notez l'espace vide entre les deux variables. Il sert à séparer le nom du prénom dans l'affichage final.
Lorsqu'on utilise des guillemets double, ce qui est sympa en PHP, c'est qu'on peut éviter de concaténer.
$client = array('Masson', 'seb');
echo "<p>Bonjour $client[0] $client[1], bienvenue.</p>";