Variables scalaires - Les clefs du PHP

 Les clefs du PHP

Dans ce chapitre, nous étudierons les règles de la syntaxe. Nous aborderons surtout la nature des variables et des valeurs, les opérateurs qui leur permettent d’interagir et les fonctions qui, à la manière de verbes, articulent les mots et les modifient. À la différence d’une langue, l’ordinateur compte et vérifie les valeurs, ce qui autorise les boucles et les tests. Nous oeuvrons au coeur d’un langage très démocratique où l’information
et le pouvoir sont largement distribués. Commençons par décliner les différents types de variable.

  1. Variables scalaires
Les variables scalaires contiennent une seule valeur, par opposition aux tableaux qui en contiennent plusieurs.


  • Le nom de variable
Un nom de variable qui représente une valeur ou un ensemble de valeurs doit commencer par une lettre ou un blanc souligné (_), suivi de lettres, chiffres ou soulignés. Attention, le langage PHP distingue la casse dans le nom des variables. Ainsi $Fromage et $fromage sont des variables différentes.

La valeur des variables scalaires peut être de plusieurs types. Il est bon de connaître ces derniers même si en général, le langage PHP fait le travail à votre place dans la plus grande transparence.

  • Le type des variables

Type
En français
Exemple
integer ou int
Entier
45
float
Nombre à virgule
45.2
string
Chaîne de caractères
"J’veux faire du PHP!"
boolean ou bool
Booléen
false ou true

 Les variables en langage PHP sont typées implicitement. Ainsi, PHP reconnaîtra un chiffre ou des lettres et le point du nombre à virgule flottante. Il vous laisse cependant la possibilité de forcer le type :

$code_postal="06400";
$code_postal= (int)$code_postal;


Ici, $code_postal qui serait naturellement une chaîne de caractères à cause des guillemets, peut être transtypé en nombre. Le forçage du type en int lui enlève le 0 du début. Par contre, si 06400 avait été sans guillemets, le nombre aurait interprété comme un octal à cause du 0 le précédant et aurait donc valu donc 3328 sur la deuxième ligne. Vous le verrez avec l’associativité des opérateurs, le sens du traitement avec l’affectation et le transtypage est de la droite vers la gauche. La variable $code_postal est ici transtypée puis affectée à elle-même, elle n’a plus rien d’un code postal. Faites bien la différence entre un chiffre et un nombre sinon, vous aurez des surprises.

Les entiers :

Les variables de type entier sont assez simples à comprendre.

Vous pouvez écrire par exemple :

$a=1;
$b=2;
$c=$a+$b;


En l’occurrence, $c contient la valeur 3.

Si vous mettez les valeurs 1 et 2 entre guillemets doubles ou simples, PHP devine qu’il s’agit de valeurs numériques et non de chaîne de caractères grâce à l’opérateur +. Il fera, malgré tout, la somme des deux variables :

$a=’1’; $b="2"; $c=$a+$b;

PHP vous simplifie la vie car il assume ces tâches de typage des données qui alourdissent inutilement le travail du programmeur et peuvent constituer une source d’erreurs.

Les nombres à virgule flottante:

Méfiez-vous des float, c’est-à-dire des nombres à virgule flottante, car ils opèrent une approximation sur le résultat. Si vous avez comme résultat d’une opération un nombre tel que 6.555973333, il arrive souvent que les chiffres suivent la virgule à l’infini. Comme toute bonne chose a une fin, l’ordinateur opère une approximation sur le nombre pour ne pas générer un bogue de programme sans fin.

En anglais, le point remplace la virgule du français. Le type float comprend
donc un point.

Les booléens
Pour spécifier un booléen, vous pouvez utiliser false ou TRUE. Ce dernier est insensible à la casse.

Les valeurs considérées comme false sont :

  • le booléen FALSE ;
  • l’entier 0 (zéro) ;
  • le nombre à virgule flottante 0.0 (zéro) ;
  • la chaîne de caractères vide et le caractère 0 ; 
  • un tableau sans élément ;
  • le type NULL (y compris les variables passées par la fonction unset()).
Les autres valeurs sont considérées comme true. L’intérêt de cette liste est que les valeurs false répondront true au test if(!$variable)que nous évoquerons plus loin dans les structures de contrôle.

Pour l’inverse, if ($variable) est true si la variable existe et qu’elle est différente de 0, de NULL ou de "". Par contre, si elle vaut " ", l’expression renvoie aussi la valeur true.

 Les chaînes de caractères :

 Le type string est de loin le plus utilisé. Les espaces sont significatifs à l’intérieur d’une chaîne de caractères. Elle est encadrée par des guillemets simples (apostrophes) ou doubles (guillemets anglais) qui conditionnent l’interprétation des caractères de contrôle (nouvelle ligne, tabulation…) et des variables insérées.

Aucun commentaire:

Enregistrer un commentaire