Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
dimanche 7 septembre 2008 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 



Vous êtes ici : Articles PHP > NOTES DE COURS

La portée des variables
Les variables sont des éléments de programmation représentées par des caractères (ou des suites de caractères). Elles sont utilisées en général pour faciliter la réutilisation d'une valeur fréquemment rencontrée dans une page web, mais également dans de nombreuses autres situations (les boucles, les tableaux, etc.) : l'utilisation des variables est incontournable en PHP, mais également dans tout autre langage.


ABONNEZ-VOUS GRATUITEMENT A LA REVUE DE PRESSE "LES Z'ACTUS" ET RECEVEZ CHAQUE JOUR DANS VOTRE BOITE AUX LETTRES LA MEILLEURE INFORMATION DEDIEE AUX WEBMASTERS / DEVELOPPEURS.

Indiquez votre adresse E-mail :

Technologie : PHP 
Date : 29/05/2006   
Auteur : ASP MAGAZINE

Syntaxe

Une variable peut être représentée par n'importe quel suite de caractères inclus dans les plages suivantes :

  • a-z : tous les caractères minuscules
  • A-Z : tous les caractères majuscules
  • 127-255 : tous les caractères dont le code ASCI est inclus dans cette plage

Chaque variable doit être précédée du signe dollars "$". Le caractère $ étant réservé, si vous souhaitez l'utiliser dans une chaîne de caractères, vous devrez le faire précéder du signe "\".

De façon générale voici la liste des caractères réservés devant être précédés du signe "\" dans une chaîne de caractères :

séquence valeur
\n Nouvelle ligne (linefeed, LF ou 0x0A en ASCII)
\r Retour à la ligne(carriage return, CR ou 0x0D en ASCII)
\t Tabulation horizontale (HT ou 0x09 en ASCII)
\\ Antislash
\$ Caractère $
\" Guillemet double
\[0-7]{1,3} Une séquence de caractère qui permet de rechercher un nombre en notation octale.
\x[0-9A-Fa-f]{1,2} Une séquence de caractère qui permet de rechercher un nombre en notation hexadécimale.

Important : Une variable doit obligatoirement commencer par un caractère alphabétique ou un caractère souligné "_".

<?
$1MaVariable =1 // est incorrect
?>

<?
$_MaVariable=1 // est correct
?>

Utilisation des variables dans une chaîne de caractères :

$var0="jean"
$var1="christophe
"

La concaténation :
La concaténation peut s'effectuer par l'intermédiaire du point ".".
$result=$var0."-".$var1 // retourne jean-christophe

Mais également au sein même de la chaîne

$result="$var0-$var1" // retourne jean-christophe

La portée des variables

La portée des variables est primordiale à comprendre en PHP. Car outre le fait que des variables portant le même nom au sein d'un même programme peuvent avoir des portées différentes et donc des valeurs différentes, la déclaration des variables est implicite dans le langage PHP. PHP détermine automatiquement le type d'une variable, en fonction de son utilisation.

Ce qu'il faut savoir :

  • Une variable $nombre peut représenter à la fois un cookie, une variable session, une variable postée d'un formulaire ou une variable définie par l'utilisateur. Il est important de bien comprendre ce point, afin d'éviter toute confusion éventuelle de nommage.
  • Chaque variable utilisée dans une fonction est une variable à portée locale.

Exemple :

Erreur fréquente :
<?
$a=1; // Variables à portée globale
$b=2;

function somme() {
// la fonction somme ne retourne pas le bon résultat
$result=$a+$b; // Variable à portée locale
return $result;
}
?>

1/ Correction de l'erreur : on passe les paramètres $a et $b à la fonction
<?
$a=1; // Variables à portée globale
$b=2;

function somme($a,$b) {
// la fonction somme retourne le bon résultat
$result=$a+$b;
return $result;
}
?>

2/ Correction de l'erreur  : On utilise le tableau GLOBALS
<?
$a=1; // Variables à portée globale
$b=2;

function somme() {
// la fonction somme retourne le bon résultat
$result = $GLOBALS["a"] + $GLOBALS["b"]; // Variables à portée globale
return $result;
}
?>

Récupérer les variables postées d'un formulaire

Afin d'éviter toute confusion, il sera en général judicieux dans le cadre d'un programme complexe de ne pas récupérer la variable associée à un champ de formulaire par $Nom_du_champ (ce qui pourrait porter à confusion avec d'autres variables du même nom pouvant être un cookie, une variable session, etc.).

On préferera donc utiliser les tableaux associatifs globals $HTTP_POST_VARS (pour une méthode POST) ou $HTTP_GET_VARS (pour une méthode GET).

Exemple :

Le formulaire
<form action="post.php" method="POST">
<input type=text name="valeur1" value="">
</form>

La récupération de la valeur valeur1 :

On pourrait récupérer la valeur postée par $valeur1, mais il sera préférable d'utiliser :

$HTTP_POST_VARS["valeur1"] // on récupère le contenu du champ valeur1



ASP Serveur - L'hébergement ASP.NET


A RETENIR CETTE SEMAINE
16/07/2008 - Windows Server 2008 : Network Access Protection
Le nouveau système d’exploitation serveur de Microsoft, Windows Server 2008, apporte avec lui de nou ...
16/07/2008 - Webcasts - Développement parallèle, à l'aube d'une nouvelle ère
Avec l'avénement des multi-coeurs, le développement parallèle devient une necéssité. Dans cette séri ...
16/07/2008 - J'en ai rien à coder - Votre devoir de vacances sur Silverlight !
Qu'est-ce que Silverlight ? Une nouvelle technologie Web permettant d'exécuter des RIA sur un large ...
16/07/2008 - Quelques petits tests sur les bases embarquées
Dans ce billet, Ayende réalise un benchmarking de plusieurs "petites" bases de données embarquées. S ...
15/07/2008 - Présentation d'ASP.NET Dynamic Data
Dynamic Data est une nouvelle technologie inclue dans l' "Asp.net 3.5 Extension CTP ". Elle fournit ...
15/07/2008 - Silverlight 2 - Les webcasts de l'événement sont en ligne
L’objectif de cette journée était de comprendre les limitations de Silverlight 1, et d’appréhender l ...
15/07/2008 - Cache transparent et Entity Framework
La gestion du cache (1er et second niveau) est une fonctionnalité très importante d'un outil de mapp ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade