Discussion:Programmation PHP/Variables

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Syntaxe PHP, inclusion de variables dans des chaînes de caractère[modifier le wikicode]

echo "Bonjour ".$Prenom.", tu as ".$Age." et ta profession est ".$Profession.".";

s'écrit plus simplement comme celà :

echo "Bonjour $Prenom, tu as $Age et ta profession est $Profession.";

C'est plus simple et plus joli... Il y a un certain nombre de règles pour l'inclusion de variables, dans le manuel php. C'est interessant d'en faire la synthèse.

Note : les expressions mysql bénéficie grandement de cette syntaxe.

Je cite: On lui évite ainsi un temps de réflexion qu'il aurait si l'on avait écrit : "Bonjour $Prenom, tu as $Age et ta profession est $Profession.";

Je doute que la différence de temps d'exécution soit significative. L'algorithme doit être optimisé dans ce sens, car c'est le propre de php et de perl que de faciliter ces mélanges littéral/variable.

...

Je viens de faire un test pour mesurer et comparer les temps d'exécution des deux syntaxes.
Comme dit dans l'article, la syntaxe incluant les variables directement dans la chaîne est plus lente que l'autre. Entre 40 et 70% de temps d'exécution additionnel.
J'ai fait le test sur mon localhost apache, qui a demandé 1 seconde pour faire 60000 affectations de chaînes toutes différentes. Le temps perdu serait de 40 à 70 centiemes de secondes pour 60000 lignes rédigées avec cette syntaxe. C'est négligeable dans la plupart des cas... et le code est tellement plus expressif...

Je suis d'accord sur le fait que le temps sauvé est négligeable, mais pourquoi utiliser une méthode qui ralentie l'exécution lorsqu'une façon, tout aussi simple et facilement visible à l'oeil, est disponible. --Inso 28 janvier 2006 à 10:15 (UTC)

Tableaux[modifier le wikicode]

Je cite :
En PHP les tableaux et leur contenu peuvent être des trois types de variables possibles. $tab[0] = 1; $tab[1] = 'test'; //fonctionne aussi
Un tableau est du type array.
Il peut contenir autre chose que des entier, des réels et des chaînes. En fait, il peut contenir tous les types php : des objets, des valeurs boléenes...


Quelques details[modifier le wikicode]

Je pense qu'il faudrait également repréciser que

echo 'Bonjour $Prenom, tu as $Age et ta profession est $Profession.';

affichera

Bonjour $Prenom, tu as $Age et ta profession est $Profession.


D'autre part, je ne pense pas qu'il faille directement montrer l'existence de variables globales comme $_FILES qui devraient être présentées dans un chapître ultérieur expliquant l'utilisation des formulaires