[php] [général] approche des variables

Préambule

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 !
?>

Transmission des Variables

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' *

Méthode GET

On transmet comme ceci :

monscript.php?mavar=coucou

On récupère comme ceci dans le script :

$_GET['mavar']

Méthode POST

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']

Méthode SESSION

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']

Tableaux

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).

Fin

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 !!!

Ce document intitulé « [php] [général] approche des variables » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous