Vous êtes sur la page 1sur 42

PHP: syntaxe, variables, opérateurs, fonctions, et

constantes

M. BOUMEDIENE

Institut National des Télécommunications et des Technologies


de l’Information et de la Communication
e-mail: mboumediene[at]inttic.dz

xx 2020

1/31 Mohammed Boumediene - INTTIC Technologies web 2


Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
2/31 Mohammed Boumediene - INTTIC Technologies web 2
Syntaxe

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
3/31 Mohammed Boumediene - INTTIC Technologies web 2
Syntaxe

Ce qui fait la force de PHP


PHP Hypertext Preprocessor (PHP) a été crée en 1995 et depuis il n’a cessé de
prendre de l’ampleur pour enfin devenir le langage le plus utilisé pour la création
de contenu dynamique.
PHP a été développer pour être intégré avec HTML
PHP se base sur les concepts d’un langage de haut niveau
Depuis sa version 5, PHP offre aussi le concept orienté-objet

4/31 Mohammed Boumediene - INTTIC Technologies web 2


Syntaxe

Ce qui fait la force de PHP


PHP Hypertext Preprocessor (PHP) a été crée en 1995 et depuis il n’a cessé de
prendre de l’ampleur pour enfin devenir le langage le plus utilisé pour la création
de contenu dynamique.
PHP a été développer pour être intégré avec HTML
PHP se base sur les concepts d’un langage de haut niveau
Depuis sa version 5, PHP offre aussi le concept orienté-objet
Les codes/scripts PHP doivent être inclus dans une balise <?php...?>
<?php
echo " H e l l o w o r l d " ;
?>

Les codes PHP doivent être sauvegardés dans des fichiers ".php"
Les fichiers ".php" doivent être sauvegardés dans votre dossier web racine (le
dossier htdocs si vous utilisez XAMPP)

4/31 Mohammed Boumediene - INTTIC Technologies web 2


Syntaxe

Séparateur d’instructions et commentaires


Les instruction doivent être séparées par ;
Il n’est pas obligatoire d’ajouter ; après la dernière instruction du script
<?php
echo " i n s t r u c t i o n 1 " ;
echo " i n s t r u c t i o n 2 " ;
echo " i n s t r u c t i o n 3"
?>

5/31 Mohammed Boumediene - INTTIC Technologies web 2


Syntaxe

Séparateur d’instructions et commentaires


Les instruction doivent être séparées par ;
Il n’est pas obligatoire d’ajouter ; après la dernière instruction du script
<?php
echo " i n s t r u c t i o n 1 " ;
echo " i n s t r u c t i o n 2 " ;
echo " i n s t r u c t i o n 3"
?>

En PHP, les commentaires peuvent être ajoutés:


sur une seule ligne à l’aide des signes ] et //
sur plusieurs lignes à l’aide des signes /*...*/
<?php
// t h i s i s a comment

/∗
O t h e r comments
l i n e 1 : f i r s t comment
l i n e 2 : s e c o n d comment
∗/
?>

5/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
6/31 Mohammed Boumediene - INTTIC Technologies web 2
Variables et types

Nom de variable

Les variables sont représentées par un signe dollar "$" suivi du nom de la variable
Le nom est sensible à la casse et il doit commencer par une lettre ou un underscore
(_), suivi de lettres, chiffres ou underscores.
<?php
$name = "Ahmed " ;
$Name = " S a r a h " ; // $name i s d i f f e r e n t t o $Name
$_name ="Mohammed " ; // i s a v a l i d v a r i a b l e name
$1name = " F e t h i " ; // i s an i n v a l i d v a r i a b l e name
$ _ f i r s t @ n a m e = " Hayat " ; // i s an i n v a l i d v a r i a b l e name
?>

7/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Types
Le type est déterminé par le contexte d’utilisation de la variable
Ainsi, si une valeur de type integer est affectée à la variable $x, alors $x devient de
type integer
Par la suite, si une chaîne de caractères est affectée à $x, alors $x devient de type
string
$x = 1 2 ; // i n t e g e r
$x = " H e l l o w o r l d " ; // s t r i n g

8/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Types
Le type est déterminé par le contexte d’utilisation de la variable
Ainsi, si une valeur de type integer est affectée à la variable $x, alors $x devient de
type integer
Par la suite, si une chaîne de caractères est affectée à $x, alors $x devient de type
string
$x = 1 2 ; // i n t e g e r
$x = " H e l l o w o r l d " ; // s t r i n g

PHP supporte 8 types basiquesă:


Types scalaires : boolean, integer, float (double), string.
Types composés : array et object.
Types spéciaux : NULL et resource.
$x = 1 2 ; // i n t e g e r
$x = " H e l l o w o r l d " ; // s t r i n g
$y = 1 . 2 5 ; // f l o a t
$z = f a l s e ; // b o o l
$name = " S a r a h " ; // s t r i n g
$ t a b = [ 1 5 , 2 5 , 118 , 0 ] ; // a r r a y
$ t e s t = NULL ; // NULL v a r i a b l e
// we w i l l p r e s e n t o b j e c t and r e s s o u r c e a f t e r

8/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Affichage des variables (1)


echo qui n’est pas vraiment une fonction mais plutôt une structure du langage qui
afficher les arguments qu’on lui passe: chaînes de caractères et/ou variables
<?php
// e c h o v a r i a b l e
$name = " S a r a h " ; // s t r i n g
echo $name ." < br >"; // p r i n t t h e v a l u e o f t h e v a r i a b l e $name
echo " H e l l o " . $name ." < br >"; // p r i n t H e l l o S a r a h
echo " H e l l o $name <br >"; // p r i n t H e l l o S a r a h

9/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Affichage des variables (1)


echo qui n’est pas vraiment une fonction mais plutôt une structure du langage qui
afficher les arguments qu’on lui passe: chaînes de caractères et/ou variables
<?php
// e c h o v a r i a b l e
$name = " S a r a h " ; // s t r i n g
echo $name ." < br >"; // p r i n t t h e v a l u e o f t h e v a r i a b l e $name
echo " H e l l o " . $name ." < br >"; // p r i n t H e l l o S a r a h
echo " H e l l o $name <br >"; // p r i n t H e l l o S a r a h

Les variables sont interprétées (remplacées par leur valeur) si elle sont placées
entre "...$variableName... "

9/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Affichage des variables (1)


echo qui n’est pas vraiment une fonction mais plutôt une structure du langage qui
afficher les arguments qu’on lui passe: chaînes de caractères et/ou variables
<?php
// e c h o v a r i a b l e
$name = " S a r a h " ; // s t r i n g
echo $name ." < br >"; // p r i n t t h e v a l u e o f t h e v a r i a b l e $name
echo " H e l l o " . $name ." < br >"; // p r i n t H e l l o S a r a h
echo " H e l l o $name <br >"; // p r i n t H e l l o S a r a h

Les variables sont interprétées (remplacées par leur valeur) si elle sont placées
entre "...$variableName... "
Les variables ne sont pas interprétées (remplacées par leur valeur) si elle sont
placées entre ’...$variableName...’

9/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Affichage des variables (1)


echo qui n’est pas vraiment une fonction mais plutôt une structure du langage qui
afficher les arguments qu’on lui passe: chaînes de caractères et/ou variables
<?php
// e c h o v a r i a b l e
$name = " S a r a h " ; // s t r i n g
echo $name ." < br >"; // p r i n t t h e v a l u e o f t h e v a r i a b l e $name
echo " H e l l o " . $name ." < br >"; // p r i n t H e l l o S a r a h
echo " H e l l o $name <br >"; // p r i n t H e l l o S a r a h

Les variables sont interprétées (remplacées par leur valeur) si elle sont placées
entre "...$variableName... "
Les variables ne sont pas interprétées (remplacées par leur valeur) si elle sont
placées entre ’...$variableName...’
echo peut avoir plusieurs arguments en entrée, il suffit de les séparer par une ,
$name = " S a r a h " ;
$age = 2 0 ;
echo $name , $ a g e ; // p r i n t t h e S a r a h a 2 0

9/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Affichage des variables (2)

print qui aussi une structure du langage PHP, permet d’afficher les chaînes de
caractères et/ou variables
print accepte qu’un seul argument en entrée contrairement à echo
$name = " S a r a h " ; // s t r i n g
p r i n t $name ." < br >"; // p r i n t t h e v a l u e o f t h e v a r i a b l e $name
p r i n t " H e l l o " . $name ." < br >"; // p r i n t H e l l o S a r a h
p r i n t " H e l l o $name <br >"; // p r i n t H e l l o S a r a h
p r i n t ' H e l l o $name <br>' ; // p r i n t H e l l o $name
p r i n t ' H e l l o ' . $name . '<br>' ; // p r i n t H e l l o S a r a h
$name = " S a r a h " ;
$age = 2 0 ;
// p r i n t $name , $ a g e ; <−− ERROR

10/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Type des variables


La fonction gettype affiche le type des variables
$y = 1 . 2 5 ; // f l o a t
$z = f a l s e ; // b o o l
$ t a b = [ 1 5 , 2 5 , 118 , 0 ] ; // a r r a y
echo g e t t y p e ( $y ) , '<br>' ; // d o u b l e
echo g e t t y p e ( $z ) , '<br>' ; // b o o l e a n
echo g e t t y p e ( $name ) , '<br>' ; // s t r i n g
echo g e t t y p e ( $ t a b ) , '<br>' ; // a r r a y , <br> == b r e a k l i n e

11/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Type des variables


La fonction gettype affiche le type des variables
$y = 1 . 2 5 ; // f l o a t
$z = f a l s e ; // b o o l
$ t a b = [ 1 5 , 2 5 , 118 , 0 ] ; // a r r a y
echo g e t t y p e ( $y ) , '<br>' ; // d o u b l e
echo g e t t y p e ( $z ) , '<br>' ; // b o o l e a n
echo g e t t y p e ( $name ) , '<br>' ; // s t r i n g
echo g e t t y p e ( $ t a b ) , '<br>' ; // a r r a y , <br> == b r e a k l i n e

La fonction var_dump affiche le type et la valeur des variables


$y = 1 . 2 5 ; // f l o a t
$z = f a l s e ; // b o o l
$ t a b = [ 1 5 , 2 5 , 118 , 0 ] ; // a r r a y
echo var_dump ( $y ) , '<br>' ; // f l o a t ( 1 . 2 5 )
echo var_dump ( $z ) , '<br>' ; // b o o l ( f a l s e )
echo var_dump ( $name ) , '<br>' ; // s t r i n g ( 5 ) " S a r a h "
echo var_dump ( $ t a b ) ; // a r r a y ( 4 ) { [0]= > i n t ( 1 5 ) [1]= >
,→ i n t ( 2 5 ) [2]= > i n t ( 1 1 8 ) [3]= > i n t ( 0 ) }

11/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Typage des variables


is_int/is_integer détermine si la variable est un entier, retourne false ou true
is_double/is_float détermine si la variable est un double, retourne false ou true
is_array détermine si la variable est un
is_bool détermine si la variable est un boolean, retourne false ou true
is_array détermine si la variable est un array, retourne false ou true
is_object détermine si la variable est un objet, retourne false ou true
is_ressource détermine si la variable est une ressource, retourne false ou true
// t y p a g e o f v a r i a b l e s
$y = 1 . 2 5 ; // f l o a t
echo var_dump ( i s _ i n t ( $y ) ) , var_dump ( i s _ d o u b l e ( $y ) ) ,
,→ var_dump ( i s _ b o o l ( $y ) ) , '<br>' ; // b o o l ( f a l s e ) b o o l ( t r u e )
,→ b o o l ( f a l s e )
echo var_dump ( i s _ a r r a y ( $y ) ) , var_dump ( i s _ o b j e c t ( $y ) ) ,
,→ var_dump ( i s _ r e s o u r c e ( $y ) ) , '<br>' ; // b o o l ( f a l s e )
,→ b o o l ( f a l s e ) b o o l ( f a l s e )
$ t a b = [ 1 5 , 2 5 , 118 , 0 ] ; // a r r a y
echo var_dump ( i s _ i n t ( $ t a b ) ) , var_dump ( i s _ d o u b l e ( $ t a b ) ) ,
,→ var_dump ( i s _ b o o l ( $ t a b ) ) , '<br>' ; // b o o l ( f a l s e ) b o o l ( f a l s e )
,→ b o o l ( f a l s e )

12/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Conversion (transtypage) des variables


settype affecte un type à une variable
$ a d d r e s s = "5 s t r e e t " ; // s t r i n g
$location = true ; // b o o l e a n
s e t t y p e ( $ a d d r e s s , " i n t e g e r " ) ; // now $ a d d r e s s e q u a l s t o 5
,→ ( i n t e g e r )
settype ( $location , " s t r i n g ") ; // now $ l o c a t i o n e q u a l s t o " 1 "
,→ ( s t r i n g )
echo var_dump ( $ a d d r e s s ) , var_dump ( $ l o c a t i o n ) , '<br>' ; //
,→ i n t ( 5 ) s t r i n g ( 1 ) " 1 "

13/31 Mohammed Boumediene - INTTIC Technologies web 2


Variables et types

Conversion (transtypage) des variables


settype affecte un type à une variable
$ a d d r e s s = "5 s t r e e t " ; // s t r i n g
$location = true ; // b o o l e a n
s e t t y p e ( $ a d d r e s s , " i n t e g e r " ) ; // now $ a d d r e s s e q u a l s t o 5
,→ ( i n t e g e r )
settype ( $location , " s t r i n g ") ; // now $ l o c a t i o n e q u a l s t o " 1 "
,→ ( s t r i n g )
echo var_dump ( $ a d d r e s s ) , var_dump ( $ l o c a t i o n ) , '<br>' ; //
,→ i n t ( 5 ) s t r i n g ( 1 ) " 1 "

Il est possible d’obtenir le même résultat en appliquant un transtypage direct à


l’aide d’un préfixe (type)$variable
$ a d d r e s s = "5 s t r e e t " ; // s t r i n g
$location = true ; // b o o l e a n
$ a d d r e s s = ( i n t ) $ a d d r e s s ; // now $ a d d r e s s e q u a l s t o 5
,→ ( i n t e g e r )
$ l o c a t i o n = ( s t r i n g ) $ l o c a t i o n ; // now $ l o c a t i o n e q u a l s t o " 1 "
,→ ( s t r i n g )
echo var_dump ( $ a d d r e s s ) , var_dump ( $ l o c a t i o n ) , '<br>' ; //
,→ i n t ( 5 ) s t r i n g ( 1 )

13/31 Mohammed Boumediene - INTTIC Technologies web 2


Opérateurs

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
14/31 Mohammed Boumediene - INTTIC Technologies web 2
Opérateurs

Opérateurs arithmétiques

Opérateur Exemple Résultat


Négation -$a Opposé de $a.
Addition $a + $b Somme de $a et $b.
Soustraction $a - $b Différence de $a et $b.
Multiplication $a * $b Produit de $a et $b.
Division $a / $b Quotient de $a / $b.
Modulo $a % $b Reste de $a divisé par $b.
Exponentielle $a ** $b Résultat de l’élévation de $a à la puissance
de $b. Introduit en PHP 5.6.

$a = 1 0 ;
$b = 5 . 2 ;
echo −$a , '<br>' ; // −10
echo $a + $b , '<br>' ; // 1 5 . 2
echo $a − $b , '<br>' ; // 4 . 8
echo $a ∗ $b , '<br>' ; // 52
echo $a / $b , '<br>' ; // 1 . 9 2 3 0 7 6 9 2 3 0 7 6 9
echo $a % $b , '<br>' ; // 0
echo $a ∗∗ $b , '<br>' ; // 1 5 8 4 8 9 . 3 1 9 2 4 6 1 1

15/31 Mohammed Boumediene - INTTIC Technologies web 2


Opérateurs

Opérateurs logiques

Opérateur Exemple Résultat


Et $a && $b TRUE si $a ET $b sont TRUE.
Et $a AND $b Similaire à $a && $b.
Ou $a || $b TRUE si $a OU $b est TRUE.
Ou $a OR $b Similaire à $a || $b.
Ou exclusif $a XOR $b TRUE si $a OU $b est TRUE, mais pas les
deux en même temps.
Non !$a TRUE si $a n’est pas TRUE.

echo $a && $b , '<br>' ; // f a l s e i s r e p r e s e n t e d by an empty s t r i n g


echo $a AND $b , '<br>' ; // f a l s e
echo $a | | $b , '<br>' ; // t r u e i s r e p r e s e n t e d by " 1 "
echo $a OR $b , '<br>' ; // t r u e
echo $a XOR $b , '<br>' ; // t r u e
echo ! $a , '<br>' ; // t r u e

16/31 Mohammed Boumediene - INTTIC Technologies web 2


Opérateurs

Opérateurs de comparaison (1)

Opérateur Exemple Résultat


Égal $a == $b TRUE si $a est égal à $b après le transtypage.
Identique $a === $b TRUE si $a est égal à $b et qu’ils sont de même
type.
Différent $a != $b TRUE si $a est différent de $b après le transty-
page.
Différent $a <> $b TRUE si $a est différent de $b après le transty-
page.
Différent $a !== $b TRUE si $a est différent de $b ou bien s’ils ne
sont pas du même type.
Plus petit que $a < $b TRUE si $a est strictement plus petit que $b.
Plus grand $a > $b TRUE si $a est strictement plus grand que $b.
Inférieur ou égal $a <= $b TRUE si $a est plus petit ou égal à $b.
Supérieur ou égal $a >= $b TRUE si $a est plus grand ou égal à $b.
Opérateur com- $a <=> $b Un entier inférieur, égal ou supérieur à zéro
biné lorsque $a est respectivement inférieur, égal, ou
supérieur à $b. Disponible depuis PHP 7.

17/31 Mohammed Boumediene - INTTIC Technologies web 2


Opérateurs

Opérateurs de comparaison (2)

$a = 2 ;
$b = 2 . 0 ;
$c = 8 ;
echo var_dump ( $a == $b ) , '<br>' ; // b o o l ( t r u e )
echo var_dump ( $a === $b ) , '<br>' ; // b o o l ( f a l s e ) b e c a u s e 2 i s an
,→ i n t e g e r and 2 . 0 i s a f l o a t
echo var_dump ( $a != $b ) , '<br>' ; // b o o l ( f a l s e )
echo var_dump ( $a !== $b ) , '<br>' ; // b o o l ( t r u e )
echo var_dump ( $a <=> $b ) , '<br>' ; // i n t ( 0 ) b e c a u s e $a == $b
echo var_dump ( $a <=> $c ) , '<br>' ; // i n t ( −1) b e c a u s e $a < $c
echo var_dump ( $c <=> $a ) , '<br>' ; // i n t ( 1 ) b e c a u s e $c > $a

18/31 Mohammed Boumediene - INTTIC Technologies web 2


Structures de contrôle

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
19/31 Mohammed Boumediene - INTTIC Technologies web 2
Structures de contrôle

if....else

L’instruction condition if....else en PHP a la même syntaxe qu’en C

$a = 11.5;
$b = 8;
$c = 21;
if ( $a > $b )
echo " $a i s g r e a t e r t h a n $b " ," < br >";
else
echo " $a i s l e s s t h a n o r e q u a l t o $b " ," < br >";

i f ( $a > $b && $a > $c )


echo " $a i s g r e a t e r t h a n $b and $c " ," < br >";
e l s e i f ( $b > $c )
echo " $b i s g r e a t e r t h a n $a and $c " ," < br >";
else
echo " $c i s g r e a t e r t h a n $a and $b " ," < br >";

20/31 Mohammed Boumediene - INTTIC Technologies web 2


Structures de contrôle

switch....case

Une variante du bloc if...elseif est l’instruction switch

$i = 1;
switch ( $i ) {
case 0:
echo " i é g a l 0 " ;
break ;
case 1:
echo " i é g a l 1 " ;
break ;
case 2:
echo " i é g a l 2 " ;
break ;
}

21/31 Mohammed Boumediene - INTTIC Technologies web 2


Boucles

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
22/31 Mohammed Boumediene - INTTIC Technologies web 2
Boucles

while..., do...while..., for(...)


En PHP, les boucles ont la même structure et syntaxe qu’en C

$i = 1;
echo "< u l >";
w h i l e ( $ i <= 7 ) {
echo "< l i >day " , $ i ," </ l i >";
$ i ++;
}
echo "</ u l >";

$i = 1;
echo "< u l >";
do {
echo "< l i >day " , $ i ," </ l i >";
$ i ++;
} w h i l e ( $ i <=7) ;
echo "</ u l >";

echo "< u l >";


f o r ( $ i =1; $ i <=7; $ i ++)
echo "< l i >day " , $ i ," </ l i >";
echo "</ u l >";

23/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
24/31 Mohammed Boumediene - INTTIC Technologies web 2
Fonctions

Fonctions (1)
Une fonction peut être définie en utilisant la syntaxe suivante :
// 1 . f u n c t i o n s
f u n c t i o n m y F u n c t i o n ( $ a r g 1 , $ a r g 2 , /∗ . . . . ∗/ $ a r g n ) {
echo " T h i s i s my f u n c t i o n " ," < br >";
$result = 1;
r e t u r n $ r e s u l t ; // o p t i o n a l

PHP supporte le passage d’arguments par valeur (comportement par défaut), le


passage par référence, et des valeurs d’arguments par défaut. Une liste variable
d’arguments est également supportée.

25/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Fonctions (1)
Une fonction peut être définie en utilisant la syntaxe suivante :
// 1 . f u n c t i o n s
f u n c t i o n m y F u n c t i o n ( $ a r g 1 , $ a r g 2 , /∗ . . . . ∗/ $ a r g n ) {
echo " T h i s i s my f u n c t i o n " ," < br >";
$result = 1;
r e t u r n $ r e s u l t ; // o p t i o n a l

PHP supporte le passage d’arguments par valeur (comportement par défaut), le


passage par référence, et des valeurs d’arguments par défaut. Une liste variable
d’arguments est également supportée.
Nombre variable d’arguments sous forme de tableau

$tab = [ 2 , 3 ] ;
sumTab ( $ t a b ) ;

f u n c t i o n sumTab ( $ i n p u t ) {
echo " $ i n p u t [ 0 ] + $ i n p u t [ 1 ] =" , $ i n p u t [ 0 ] + $ i n p u t [ 1 ] ;

25/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Fonctions (2)
Passage d’arguments par référence

$x = 2 ;
$y = 5 ;
sum ( $x , $y ) ;
echo " The r e s u l t i s $x " ;

f u n c t i o n sum(&$a , &$b ) {
$a += $b ;

26/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Fonctions (2)
Passage d’arguments par référence

$x = 2 ;
$y = 5 ;
sum ( $x , $y ) ;
echo " The r e s u l t i s $x " ;

f u n c t i o n sum(&$a , &$b ) {
$a += $b ;

Valeur par défaut des arguments

f u n c t i o n b r i n g C o f f e e ( $what=" c a p p u c c i n o " ) {
r e t u r n " b r i n g me a cup o f $what " ;
}

echo b r i n g C o f f e e ( ) , "<br >"; // b r i n g me a cup o f c a p p u c c i n o


echo b r i n g C o f f e e ( n u l l ) , "<br >"; // b r i n g me a cup o f

26/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Portée des variables (1)


La portée d’une variable dépend du contexte dans lequel la variable est définie
Pour la majorité des variables, la portée concerne la totalité d’un script PHP
$a = 2 ; // $a i s a g l o b a l v a r i a b l e
function setValue1 ( $value ){
$a = 1 0 ; // h e r e $a i s a l o c a l variable
}

setValue1 (10) ;
echo " a = $a " ," < br >"; // a = 2 and n o t 10

Le script affichera "a = 2" puisque dans ce contexte la variable $a est considérée
comme une variable locale et non globale de la fonction setValue1

27/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Portée des variables (1)


La portée d’une variable dépend du contexte dans lequel la variable est définie
Pour la majorité des variables, la portée concerne la totalité d’un script PHP
$a = 2 ; // $a i s a g l o b a l v a r i a b l e
function setValue1 ( $value ){
$a = 1 0 ; // h e r e $a i s a l o c a l variable
}

setValue1 (10) ;
echo " a = $a " ," < br >"; // a = 2 and n o t 10

Le script affichera "a = 2" puisque dans ce contexte la variable $a est considérée
comme une variable locale et non globale de la fonction setValue1
Solution 1 ⇒ il faut le préciser à PHP à l’aide du mot clé global
$a = 2 ; // $a i s a g l o b a l v a r i a b l e
function setValue2 ( $value ){
g l o b a l $a ; // h e r e $a i s t h e g l o b a l v a r i a b l e $a
$a = 1 0 ;
}

setValue2 (10) ;
echo " a = $a " ," < br >"; // a = 10

27/31 Mohammed Boumediene - INTTIC Technologies web 2


Fonctions

Portée des variables (2)

Solution 2 ⇒ accéder à la variable $a via la variable super-globale $GLOBALS


Les variables super-globales sont prédéfinies et gérées par l’interpréteur PHP
$a = 2 ; // $a i s a g l o b a l v a r i a b l e
function setValue3 ( $value ){
$GLOBALS [ ' a ' ] = 1 0 ;
// $_GLOBALS [ ' a ' ] i s t h e g l o b a l v a r i a b l e $a
}

setValue3 (10) ;
echo " a = $a " ," < br >"; // a = 10

28/31 Mohammed Boumediene - INTTIC Technologies web 2


Constantes

Plan

1 Syntaxe

2 Variables et types

3 Opérateurs

4 Structures de contrôle

5 Boucles

6 Fonctions

7 Constantes
29/31 Mohammed Boumediene - INTTIC Technologies web 2
Constantes

Constantes

La fonction define définit une constante


Il est fortement recommandé d’utiliser des noms en MAJUSCULE pour vos
constantes
Le nom d’une constante ne contient pas le symbole $
d e f i n e ( "AUTHOR_NAME" , "M. BOUMEDIENE" ) ;
echo AUTHOR_NAME," < br >";

d e f i n e ( " PI " , 3 . 1 4 ) ;
echo PI , "<br >";

30/31 Mohammed Boumediene - INTTIC Technologies web 2


Constantes

Merci pour votre attention! Des Questions?

31/31 Mohammed Boumediene - INTTIC Technologies web 2

Vous aimerez peut-être aussi