Académique Documents
Professionnel Documents
Culture Documents
Le langage php
Chapitre 2
Types de variables
Table des matières
Le type booléen..........................................................................................................................................................3
Le type entier.............................................................................................................................................................4
Le type réel.................................................................................................................................................................5
Les chaînes de caractères (1/2)..................................................................................................................................6
Les chaînes de caractères (2/2)..................................................................................................................................7
Les opérateurs de manipulation de chaînes de caractères..........................................................................................8
Les instructions d'affectation.....................................................................................................................................9
Un exemple..............................................................................................................................................................10
Les différents conteneurs.........................................................................................................................................11
Le transtypage implicite...........................................................................................................................................12
Le transtypage explicite...........................................................................................................................................13
Fonctions de conversions.........................................................................................................................................14
Connaître l'état d'une variable..................................................................................................................................15
Connaître les données contenues dans une variable................................................................................................16
Connaître le type d'une variable...............................................................................................................................17
Fonctions pour connaître le type ou l'état d'une variable.........................................................................................18
L'instruction exit......................................................................................................................................................19
Gérer les erreurs.......................................................................................................................................................20
Le type booléen
Un booléen peut prendre deux valeurs TRUE ou FALSE (insensible à la casse)
Dans tous les autres cas, la valeur retournée est TRUE (-1 est considéré comme TRUE)
Les tests de conditions dans les structures de controles effectuent une conversion booléenne de la condition
if($var==true) echo "ok";
if($var) echo "ok";
Les entiers sont codés sur 32 bits mais cela dépend de l'architecture
valeur entière comprise entre -2 147 483 647 et +2 147 483 648
$var=1.234;
$var2=1.1e4; // 1.1 * 10^4 : 11000
Caractère d'échappement : \
echo "Ceci est un cours de \"PHP\""; // Ceci est un cours de "PHP"
Saisi de texte dans une variable : la saisie de texte est réalisée par l'opérateur <<<
$str= <<<EOD
Example of string;
spanning multiple lines
using heredoc syntax.
EOD;
echo $str."\n";
$a = $a + 3 ; identique à $a += 3 ;
Un exemple
<?php
$string = "azerty";
echo '$string=',$string,"\n";
define(CONSTANTE, 12);
echo 'CONSTANTE=',CONSTANTE,"\n"; $ php essai.php
$prénom = "Eric"; $string=azerty
$Eric = "Pipard"; CONSTANTE=12
echo '$$prénom=',$$prénom,"\n"; $$prénom=Pipard
echo '\n',"\n"; \n
echo'$prénom.$Eric'," egal ",$prénom.$Eric,"\n"; $prénom.$Eric egal EricPipard
echo "Le prénom contenu dans '$prénom' est $prénom\n"; Le prénom contenu dans 'Eric' est Eric
$suffixe = ".php"; Les fichiers php doivent s'écrire fichier.php
echo "Les fichiers php doivent s'écrire fichier$suffixe\n";
?>
Les différents conteneurs
Variable simple
n'importe quelle valeur : booléen, réel, entier, chaînes de caractères
$maVariable = 52.8;
Tableau (array)
collection de variables
$mois = array("octobre","novembre","décembre");
Objet (object)
les objets se créent avec l'instruction class
pour créer une instance de l'objet il faut utiliser le mot clé new
class test {
function affiche_hello() {
echo "Hello !";
}
}
$obj=new test;
$obj->affiche_hello();
Ressource
fichiers, connexions, ...
$maConnexion = mysqli_connect("monServeur", "monNom","MonPass");
Le transtypage implicite
Le type de variable change quand le contenu change
$cow = "0"; // $cow est une string ("0")
$cow = $cow + 2; // $cow est maintenant un integer (2)
$cow = $cow + 1.3; // $cow est maintenant un float (3.3)
La valeur numérique est définie par le début de la chaîne ; si la chaîne commence par une valeur numérique, elle
sera utilisée, sinon elle sera égale à 0
$cow = 5 + "10 Little Piggies"; // $cow reste un integer (5+10)
$cow = 5 + "Little Piggies"; // $cow reste un integer (5+0)
<?php
Inexistante
if (isset($vide)) echo "Existante\n"; else echo "Inexistante\n"; Vide
if (!empty($vide)) echo "Pleine\n"; else echo "Vide\n";
Existante
$aussiVide = 0; Vide
if (isset($aussiVide)) echo "Existante\n"; else echo "Inexistante\n";
if (!empty($aussiVide)) echo "Pleine\n"; else echo "Vide\n";
?>
Connaître les données contenues dans une variable
Pour connaître lee données contenues dans une variable : var_dump($variable)
var_dump($variable) retourne le type de donnée et la valeur associée à la variable
<?php NULL
$aussiVide = 0; int(0)
$plein = "Plein"; $array = array(1, 2); string(5) "Plein"
echo var_dump($vide); array(2) {
echo var_dump($aussiVide); [0]=>
echo var_dump($plein); int(1)
echo var_dump($array); [1]=>
class Exemple {}; $objet = new Exemple(); int(2)
echo var_dump($objet); }
$objet1 = new Exemple(); object(Exemple)#1 (0) {
echo var_dump($objet1); }
?> object(Exemple)#2 (0) {
}
Connaître le type d'une variable
La fonction gettype() retourne le type d'une variable
<?php
$int = 0;
$reel = 0.0;
$bool = TRUE;
$chaine = "ert";
$array = array(1, 2);
echo gettype($int); echo "\n";
echo gettype($reel);echo "\n";
echo gettype($bool);echo "\n";
echo gettype($chaine);echo "\n";
echo gettype($array);echo "\n";
echo gettype($null);echo "\n";
class Exemple {}; $objet = new Exemple();
echo gettype($objet);
?>
Fonctions pour connaître le type ou l'état d'une variable
Fonction Utilisation Exemple
Dès qu'une valeur a été affectée à une variable celle-ci devient
isset if (!isset($myVar))...
"set"
empty Pour ne pas etre "empty" une variable doit contenir une valeur != 0 if (empty($myVar))...
is_numeric Contient une valeur numérique différente de 0 (entre "" ou pas) if (is_numeric($myVar))...
is_string Indique si la variable est une chaînes de caractères echo is_string($myVar)...
is_array Indique si la variable est un tableau if (is_array($myVar))...
is_bool Indique si une variable est de type booléen if (is_bool($myVar))...
is_double
is_float Indique si une variable est de type double ou float ou réel if (is_real($myVar))...
is_real
is_integer
is_long Indique si une variable est de type entier ou long if (is_int($myVar))...
is_int
is_null Indique si une variable contient null if (is_null($myVar))...
is_object Indique si une variable est de type objet if (is_object($myVar))...
is_ressource Indique si une variable est de type ressource if (is_ressource($myVar))...
L'instruction exit
Cette instruction arrete l'exécution d'un programme
<?php
echo "Le début\n";
exit("Le dernier echo ne sera pas exécuté\n"); $ php essai.php
echo "Fin"; Le début
?> Le dernier echo ne sera pas exécuté
Gérer les erreurs
PHP supporte un opérateur de controle d'erreur : le symbole @
Quand une expression commence par ce symbole, aucune erreur générée par cette expression n'apparaîtra
Si la mémorisation des erreurs est validée (option track_errors est à On dans le php.ini), cette erreur sera
mémorisée dans $php_errormsg
Une fonction nommée die permet d'afficher vos propres messages d'erreur (celle-ci arrete le programme)
<?php
/* on provoque volontairement une erreur */ $ php essai.php
$my_file = @file ('non_existent_file') or Fichier impossible à ouvrir
die ("Fichier impossible à ouvrir");
?>