Tout d'abord, je tiens à dire que je ne me proposes pas de faire un article complet sur les variables mais juste une approche pouvant à tout moment être complétée et/ou corrigée!
Ce qu'il est nécessaire de savoir avant tout, c'est que les variables en php ne sont pas typées. En effet, en d'autres langages tels que le C ou le Delphi, les variables sont typées, c'est à dire qu'il est nécessaire de les déclarer selon ce que l'on souhaite en faire : par exemple :
int pour integer qui sont les nombres entirers
string (ou char[X] avec X un entier) pour des chaines de caractères...
En php, rien de tout ca, chaque variable peut servir à tout !
exemple :
<? $var = 'coucou'; // notez bien l'utilisation de ' ' et non pas " ", la différence viens du faite que " " recherche les variables a l'intérieur mais pas ' ' d'ou une différence notable de vitesse echo $var; $var = 5; echo $var; ?>
Ce script renverra coucou puis 5 sans aucune erreur! Ce qui confère une certaine souplesse dans le code php donc... Attention à ne pas prendre de mauvaises habitudes!
La seule contrainte en php avec vos variables est de bien les nommer. Chaque variable débute par $ puis une lettre. le nom peut commencer par une lettre mais pas par un chiffre :
$15oo // faux! $oo15 // juste
D'autre part, il ne faut pas utiliser de noms réservés tels que :
$while $for
Si vous le souhaitez, vous pouvez composer des variables variables, c'est à dire que leur nom est lui même composé d'un variable. Exemple :
<? $variable1 = "ceci est ma variable"; $nom = 'variable'; $nb = 1; $nom2 = $variable.$nb; // concaténation de deux variable. echo ${'variable'.$nb}; // equivaut à echo $variable1; !!! echo ${$nom.$nb}; // idem echo $$nom2; // idem ! ?>
Depuis PHP 4.1.X.X, les variables transmises ne sont plus globales par défaut pour des raisons de sécurités. En effet, il pouvait être (enfin... il faut le faire quand même) facile de transmettre et modifier une variable interne à un script et ce de façon à obtenir des droits initialement inaccessibles...
Pour transmettre des variables à un script, il existe différentes méthodes : GET, POST, par COOKIE,... Avec ces nouvelles normes, les variables ne sont plus directement stockées sous leur nom transmis mais comme ceci : $_METHODE['NomDeVar' *
On transmet comme ceci :
monscript.php?mavar=coucou
On récupère comme ceci dans le script :
$_GET['mavar']
On transmet comme ceci :
// Source HTML <form method=POST action="monscript.php"> </form> // Évidemment, il faut poster le formulaire
On récupère comme ceci dans le script :
$_POST['mavar']
Les cookies sont des fichiers stockés sur les ordinateurs des clients par les webmasters afin de leur permettre de récupérer ces informations ultérieurement. Bien évidemment, vous n'avez accès qu'aux cookies de vos domaines. Pour récupérer une variable d'un cookie, il suffit de l'appeler comme suit :
$_COOKIE['mavar']
Les sessions permettent de stocker des informations propres à l'utilisateur sur le serveur. A vous de la gérer comme vous l'entendez, le tout est de transmettre l'id de la session (mais tout ceci est un autre tutoriel... ) avant de récupérer la variable comme cela :
$_SESSION['mavar']
En php, pour appeler les tableaux, il suffit de faire
$montableau[X]
ou X est un entier désignant un sous-ensemble du tableau.
Il convient de savoir que dans nombre de langages tels que le php, les strings sont considérés comme des tableaux de caractères, par exemple :
<? $mastring = 'coucou'; echo $mastring[2 * ; // renverra "o" echo $mastring{2}; // cette nouvelle notation tend a remplacer l'ancienne ?>
Certaines fonctions php renvoient directement un tableau, c'est le cas de la fonction explode qui est très utile :) (voir lien 1).
Voila, j'espère que ce tutoriel vous aura aidé à mieux comprendre les variables et leur utilisation... Bien sur ce tutoriel n'est pas une référence et nécessitera certainement des corrections...
PS: Soyez indulgent, ceci est mon premier tutoriel :)
N'oubliez pas : en cas de problèmes, consultez php.net !!!