0% ont trouvé ce document utile (0 vote)
267 vues81 pages

Programmation Web Avancée: Pr. Meriem HOUMER Génie Informatique (S4)

Le document présente PHP, un langage de script open source utilisé pour créer des pages web dynamiques, et détaille son historique depuis sa création en 1994 jusqu'à la version actuelle PHP8. Il aborde également les différences entre sites web statiques et dynamiques, les types de données, ainsi que les règles de base pour écrire du code PHP. Enfin, il mentionne les environnements de développement et les frameworks associés au langage.

Transféré par

mbarkamaryem96
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
267 vues81 pages

Programmation Web Avancée: Pr. Meriem HOUMER Génie Informatique (S4)

Le document présente PHP, un langage de script open source utilisé pour créer des pages web dynamiques, et détaille son historique depuis sa création en 1994 jusqu'à la version actuelle PHP8. Il aborde également les différences entre sites web statiques et dynamiques, les types de données, ainsi que les règles de base pour écrire du code PHP. Enfin, il mentionne les environnements de développement et les frameworks associés au langage.

Transféré par

mbarkamaryem96
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation Web avancée

Génie Informatique (S4) Pr. Meriem HOUMER


2
Qu'est-ce que c'est ?
q PHP (Personal Home Page ou encore PHP Hypertext Preprocessor),
est un langage de scripts (langage de programmation libre) qui
s'intègre aux pages HTML et qui permet de réaliser des pages web
dynamiques.
ü Il s'exécute sur le serveur et permet d'accéder facilement aux bases
de données.
ü C'est un produit « Open Source »
ü Il est gratuit. Combiné au système d'exploitation Linux, au serveur
Apache et à la base de données MySQL (eux-mêmes gratuits), il
permet de créer des sites Web à des coûts très réduits. 3
Pourquoi PHP ?

q PHP fonctionne sur différentes plates-formes (Windows, Linux,


Unix, Mac OS X, etc.)
q PHP est compatible avec presque tous les serveurs utilisés
aujourd'hui (Apache, IIS, etc.)
q PHP prend en charge un large éventail de bases de données
q PHP est gratuit.
q PHP est facile à apprendre et fonctionne efficacement côté
serveur
4
Historique
q La première version date de 1994, et suite à un projet
personnel, Rasmus Lerdorf a créé le langage PHP.

ü Ce projet a été animé par son besoin de suivre en ligne les visiteurs de
son CV sur son site Web.

q En 1995, PHP2 intègre des boucles etc...

q En 1997 Zeev Suraski et Andi Gutmans ont entamé des travaux


d'amélioration du langage PHP.

ü La première version officielle est alors nommée PHP3 dont


l'acronyme récursif désigne désormais PHP Hypertext Preprocessor. 5
Historique
q Peu de temps après, ils ont développé le moteur d’execution Zend
Engine suite auquel, la version 4 de PHP est née.

q En 2004, PHP5 a été créé. Il s'agit d'une version du langage qui supporte
la Programmation Orientée Objet (POO) d'une manière très avancée.

ü Cette version a été utilisée durant longtemps sur les serveurs Web des
hébergeurs, et aujourd'hui encore la version 5.6 est encore disponible
sur la plupart des serveurs d'hébergement mutualisé.

q Le successeur de PHP5 est PHP7 qui est finalisé en décembre 2015 au


dépend de PHP6 qui n'a jamais été officialisé.
6
Historique
q En 2020, PHP8 a eu lieu.

ü Cette version majeure se démarque principalement par la fonctionnalité de


« compilation à la volée » (Just-in-time compilation) qui permet un gain de
vitesse d'exécution de plus de 45 %62 pour certaines applications Web.

ü Jusqu’à 8 décembre 2022 PHP n’a pas cessé d’être améliorer à travers les
versions 8.1 et 8.2 on introduit de nouvelles fonctionnalités à savoir;

Ø les énumérations;

Ø la propriété readonly pour empêcher une variable d'être modifiée;

Ø les types null, true et false;

Ø ...... 7
Historique
q PHP est inspiré principalement de trois langages de programmation,
à savoir le langage C, Perl et Java (dont le model objet a servi de base
pour développer PHP5).
q D'autres langages comme Shell et C++ ont aussi eu de l'influence sur
certains aspects du PHP.
q Depuis ses débuts, PHP intéresse de plus en plus de développeurs et
est utilisé pour la création de millions de sites Web dynamiques
présents sur la toile.
8
Site Web statiques ou dynamiques

q Un site Web statique renferme un contenu figé qui ne change pas


automatiquement et qui reste le même tant que le Webmaster n'est
pas intervenu pour le modifier manuellement.
q Un site web dynamique est un site Web dont le contenu change
d'une manière autonome. Celui ci peut changer en fonction de la
date, le navigateur utilisé par le client, la position géographique de
celui-ci, les privilèges attribués à chaque utilisateur suite à une
authentification par exemple, l'historique de navigation etc...
9
Site Web statiques ou dynamiques

10
Différence entre XHTML et PHP
q XHTML

q PHP

11
Fonctionnement du PHP

12
Site Web statiques ou dynamiques
q La plus grande qualité et le plus important avantage du langage
PHP est le support d'un grand nombre de bases de données.
→ Réaliser une page Web dynamique interfacée avec une base de
donnés est extrêmement simple.
Adabas D InterBase PostgreSQL
q Les bases de
dBase FrontBase SQLite
données suivantes Empress mSQL Solid
FilePro (lecture seule) Direct MS-SQL Sybase
sont supportées Hyperwave MySQL Velocis
par le langage IBM DB2 ODBC Unix dbm
Informix Oracle (OCI7 et OCI8)
PHP: Ingres Ovrimos 13
Que peut faire PHP ?

q PHP peut générer du contenu de page dynamique


q PHP peut créer, ouvrir, lire, écrire, supprimer et fermer des fichiers
sur le serveur
q PHP peut collecter des données de formulaire
q PHP peut envoyer et recevoir des cookies
q PHP peut ajouter, supprimer, modifier des données dans votre base
de données
q PHP peut être utilisé pour contrôler l'accès des utilisateurs
q PHP peut chiffrer les données
14
CGI (Common Gatway Interface)
q Pour que le serveur exécute le langage PHP, il s’appuis sur le
standard CGI (Common Gatway Interface)
ü CGI est le standard qui indique comment les échanges seront
effectués entre le serveur HTTP et le programme qui gère sont
contenu dynamiquement
ü Quelque langages CGI:
Ø Perl, PHP, JSP
Ø le framework ASP.Net
Ø Python via son framewok Django
Ø Javascript via sa plate-forme node.Js 15
Mode d'exécution de PHP
q CGI (Common Gateway Interface): le plus performant et le plus
utilisé
q CLI (Command Line Interface): exécution via la ligne de commande

16
Support PHP

q Support officiel de PHP: www.php.net


q Pour obtenir en ligne toute la documentation officielle (en français):
http://fr.php.net/
q Pour chercher des informations sur une fonction quelconque:
www.php.net/nom de la fonction
Exemples:
www.php.net/echo
www.php.net/preg_match

17
Application du PHP

q PHP Permet:
ü Le développement des sites et applications Web
ü La programmation réseau (Sockets, SNMP...)
ü Le traitement d'images
ü La sécurité

18
Frameworks PHP

q Quelques frameworks PHP connus:


ü Zend Framework
ü Symfony
ü Laraval
ü CodeIgniterap
ü CakePHP
q Ces frameworks suivent le patron de conception MVC (Model -
View - Controller)

19
Matériels et logiciels nécessaires

q PHP travaille sur de nombreuses plates-formes telles que Unix,


Linux et Windows sur lesquelles il faut installer un serveur web.
q Pour écrire des scripts PHP, un simple éditeur de texte tel Bloc-
notes de Windows est suffisant.
Ø Toutefois, de nombreux logiciels gratuits ou non (éditeur de
code), en rendent l’écriture plus agréable (aide intégrée,
colorisation des mots-clés, ...)
q Pour exécuter les scripts, il faut un navigateur tel que Chrome,
Internet Explorer (IE), Netscape Navigator (NN), Opéra, ...
20
Matériels et logiciels nécessaires

q Pour exécuter PHP il faut avoir un serveur Web qui support ce


langage, a savoir:
ü Un serveur web qui peut être Apache (Unix, Linux, Windows,...),
IIS et même PWS (Personal Web Server) sur Windows 95/98 et
NT.
q Eventuellement, une base de données telle que MySQL.

21
Plateforme de développement PHP

• WAMP (pour Windows) • MAMP (pour MacOS) • LAMP (pour Lunix)

• EasyPHP (pour Windows) • XAMPP (tous S.E) • LAMPP (FreeBSD, Unix)

22
Environnement de travail

q Une fois installer une des plateformes vous l’ouvrez avec un double click
q Le fait de lancer l'un de ces outils transforme votre machine en serveur
Web
ü Le port 80 (Service HTTP) est ouvert
ü Le port 443 (HTTPS) peut être ouvert selon l'outil
q En suite, sur votre navigateur vous accédez a l’adresse
ü http://localhost
ü http://127.0.0.1

23
Environnement de travail

q L’emplacement ou il faut placer les fichier php ou le projet en


général s’appelle le ‘‘Document Root’’
q Document Root pour WAMP: Partition:\wamp\www
Exemple: C :\wamp\www
q Document Root pour XAMPP: Partition:\xampp\htdocs
Exemple: C:\xampp\htdocs
q Document Root pour MAMP: \Applications\MAMP\htdocs
q Document Root pour LAMP: /var/www ou /var/www/html

24
Règles de base
q Le PHP doit être délimité par les balises ouvrante <?php et
fermante ?>.

q Lorsque PHP traite un fichier, il cherche les balises d'ouverture et


de fermeture qui délimitent le code qu'il doit interpréter.
q De cette manière, cela permet à PHP d'être intégré dans toutes
sortes de documents, car tout ce qui se trouve en dehors des balises
ouvrantes / fermantes de PHP est ignoré.
25
Règles de base

q Les instructions PHP doivent se terminer par un point-virgule (;).


q Pour l’affichage, nous pouvez utiliser : print (ou l’une de ses
variantes) ou echo.

q Un fichier contenant des instructions PHP doit avoir l'extension


«.php »

26
Règles de base

q Accéder a un Document Root à Créer un dossier à Créer le fichier


php à Ouvrer le a travers le serveur
Exemple de fichier php
<?php
//information de l’environnement

phpinfo();
?>

27
Où écrire le code PHP ?
q Nous pouvons écrire des scripts PHP soit dans fichiers dédiées qui ne
vont contenir que du PHP, soit intégrer le PHP au sein de nos fichiers
HTML.

28
Où écrire le code PHP ?
q Les résultats des deux types de style d’écriture sont identiques. Sur la
figure ci-dessous se trouve le code HTML généré dans les deux cas :
PHP dans un fichier dédié ou PHP incorporé dans du code HTML.

29
Première page PHP

30
Les variables

q Les variables correspondent à des zones de mémoire "étiquetées"


par un nom, dans lesquelles seront enregistrées les valeurs à
traiter.
q Contrairement à certains langages (Java par exemple), PHP
n'impose pas de déclaration explicite des variables avant de les
utiliser (langage faiblement typé)
q Le typage est dynamique ( le type peut être casté)

31
Les variables
Déclarations des variables
q Le nom d’une variable doit commencer par une lettre (majuscule
ou minuscule) ou le caractère underscore "_" . Il peut ensuite
comporter des lettres, des chiffres et le caractère underscore "_" .
q Pour utiliser une variable, il faut toujours mettre le caractère "$"
avant le nom de la variable, sans espace entre les deux.

32
Les variables
Affichage
La fonction echo affiche un (ou plus) argument.
q Si l'argument est une chaîne entre simple quotte ' il est affiché tel
quel.
Exemple: echo 'Hello, World';
q Avec le quotte double " les variables contenues dans cette chaîne
sont interprétées.
Exemple: $nom= "Toto";
echo "Hello, $nom"; // Hello, Toto
echo 'Hello, $nom'; // Hello, $nom 33
Les variables
Affichage
q On peut également inclure le résultat d'une fonction directement dans
un echo.
q Exemple: echo "Votre Nom en majuscule : ", strtoupper( "Toto" ), "\n";
q Pour afficher le caractère " , on l'insère à l'aide du caractère
d'échappement \
q Exemple : echo " Affichage de caractères : \" \n";
q On peut inclure des caractères spéciaux pour contrôler le flux affiché :
q \n : saut de ligne. \r : fin de ligne \t : tabulation
q Pour terminer l'exécution du script, on utilise la fonction exit(); 34
Les variables
Type de variables
q PHP permet la manipulation d’un certain nombre de types de
données différents :
q Les types scalaires de base :
ü Integer : les nombres entiers.
ü Double et float : les nombres flottants (réels ou décimaux).
ü String : chaînes de caractères.
ü Boolean : booléens pour les valeurs TRUE ou FALSE (soit les
valeurs 1 ou 0).
35
Les variables
Type de variables
q Les types composés :
ü Array : tableaux, qui peut contenir plusieurs valeurs.
ü Object : les objets.
q Les types spéciaux :
ü Resource : contient une référence vers une ressource externe.
ü Null : représente une variable sans valeur.

36
Les variables
Type de variables
q Il est parfois utile de forcer le type d'une variable.
q On utilise la fonction settype ou bien les opérateurs de casting.
ü settype( mixed $var , string $type ) renvoie vrai si la conversion
a fonctionné, faux sinon.
Exemple:

37
Les variables
Type de variables
q Il est parfois utile de forcer le type d'une variable. Les opérateurs de
conversion sont :
q (string) : conversion en chaîne de caractères
q (int) et (integer) : conversion en entier
q (real), (double) et (float) : conversion en double
q (bool): conversion en booléen
q (array): conversion en tableau
q (object): conversion en objet
Exemple: $var= 1;
$chn=(string) $var ; // $var est de type "string" et vaut " 1 ". 38
Les variables
Type de variables
q On peut également utiliser strval($var), intval($var),
doubleval($var) qui renvoient la variable convertie en chaîne /
entier / réel.
Exemple:
q $strPI= "3.1415";
q $intPI= intval( $strPI );
q $PI= doubleval( $strPI );
q echo " $strPI / $intPI / $PI"; // => 3.1415 / 3 / 3.1415
Remarque : Ces fonctions ne fonctionnent pas sur les tableaux. 39
Les variables
Type de variables
q Il est à noter que malgré ces déclarations, PHP ne contrôle pas le
contenu des variables (c-à-d. si on place du texte dans une variable
numérique, PHP convertira tout seul le type de la variable en
"string" ).
Exemple:
$a= 10; $a= "10"
$b= 20; $b= "20"
$c= $a + $b; // c=30 $c= $a + $b; // c=???
40
Les variables
Règles des conversions implicites (automatique):

q Si la chaîne de caractères contient un point, un e ou un E ainsi que


des caractères numériques, elle est convertie en décimal,
q Si la chaîne de caractères ne contient que des caractères
numériques, elle est convertie en entier,
q Si la chaîne de caractères est composée de chiffres et de lettres, elle
est convertie en entier et vaut 0,

41
Les variables
Règles des conversions implicites (automatique):
q Si la chaîne de caractères contient plusieurs mots, seul le premier
est pris en compte et est converti selon les règles ci-dessus.
q $var1 = 1; // $var1 est de type "integer" et vaut 1.
q $var2 = 12.0; // $var2 est de type "double" et vaut 12.
q $var3 = "PHP"; // $var3 est de type "string" et vaut "PHP".
q $var4 = false; // $var4 est de type "boolean" et vaut false.
q $var5 = "5a"; // $var5 est de type "string" et vaut "5a"

42
Les variables
Références
q PHP4 permet d’exploiter les références aux variables, à l’instar du
langage C.
q Une référence à une variable est un accès à la zone mémoire qui
contient la valeur de cette variable.
q Cette référence est désignée par le caractère & placé devant le nom
de la variable.
Exemple: $a = 1 ;
$b = &$a ; //b contient la valeur de a
$a = 2 ;
echo "$a,$b"; //Affiche2,2 43
Les variables
Conseils et remarques
q Eviter tout signe diacritique dans les noms de variables (caractères
accentués, cédille, ...)
q Pas d’espace dans les noms de variable
q PHP est sensible à la casse c-à-d que la variable $NBRE n’est pas la
même que la variable $nbre ou $Nbre.
q Toutefois, cette règle ne s'applique pas aux fonctions, les
spécifications du langage PHP précisent que la fonction print peut
être appelée print(), Print() ou PRINT()
q Les variables sont toutes précédées du signe $. 44
Exercice

Donnez les valeurs de $x, $y, $z à la fin du script suivant :


$x="PostgreSQL";
$y="MySQL";
$z=&$x;
$x="PHP 5";
$y=&$x;

45
Les variables
Déterminer le type d’une variable
q Avant de manipuler des variables, il peut être utile de connaître leur type.
Cela permet de s’assurer que le résultat obtenu est conforme à ce qui est
attendu et qu’il n’y a pas d’incompatibilité entre les types de ces variables.
ü L’opérateur d’incrémentation appliqué à une chaîne, par exemple,
peut donner des résultats curieux.
q La fonction gettype($var) permet de connaître le type de la variable. Elle
renvoie une chaîne contement: ''string'' ou ''integer'' ou ''double '' ou
’’boolean'' ou ''array'' ou ''object’’.
q Remarque : Si la variable n'est pas définie, elle renvoie "string". 46
Les variables
Déterminer le type d’une variable
q var_dump($var) : Affiche les informations structurées d'une variable, y
compris son type et sa valeur.
Exemple:

47
Les variables
Déterminer le type d’une variable
q Les fonctions suivantes permettent de vérifier si une variable est
d’un type précis. Elles retournent la valeur booléenne TRUE si la
variable est du type recherché et FALSE dans le cas contraire :

48
Les variables
Existence de variables, la fonction isset()
q La fonction isset($var) permet de vérifier si une variable a été déjà
définie. La fonction isset($var) renvoie true si la variable $var
existe, et false sinon.
q En revanche, la fonction unset($var) permet de supprimer la
variable $var.
Exemple :

49
Les variables
Test de variables, la fonction empty()
q La fonction empty($var) permet de vérifier si une variable a été déjà initialisée.
q La fonction empty($var) renvoie true si la variable $var n’est pas encore
initialisée (variable sans valeur), et false sinon (la variable contient une
valeur).
q Dans le cas où une variable n’existe pas, la fonction empty() retourne la valeur
true.
Exemple :

50
Les variables
Fonction sur les chaines de caractères

51
Les variables
Les variables prédéfinies

52
Les variables
Les variables prédéfinies

53
Les constantes

q Pour définir des constantes personnalisées, nous utilisons la fonction


define(), dont la syntaxe est la suivante :

define (String "nom_cte", Divers valeur, boolean casse );

q On attribue la valeur "valeur" à la constante nommée nom_cte,


dont le nom doit être contenu dans une chaîne de caractères délimitée
par des guillemets.
q Le paramètre casse vaut TRUE si le nom de la constante est
insensible à la casse et FALSE sinon.
54
Les constantes
q La fonction define() retourne TRUE si la constante a bien été définie
et FALSE en cas de problème
ü par exemple, si vous essayez de redéfinir une constante existante,
ce qui est interdit.
q Toute tentative de modifier la valeur d’une constante en la
redéfinissant provoque un avertissement (warning) de la part du
serveur.
q Deux constantes sont prédéfinies par PHP :
ü __FILE__ contient le nom du fichier
ü __LINE__ le numéro de la ligne courante.
55
Les constantes
Exemple:

Les constantes ne sont pas évaluer au sein des chaine


de caractères
pas de $ pour des constantes
56
Les constantes
Constante prédéfinie:
Ce sont des constantes internes et connues de PHP
Déclaration en PHP Valeur

TRUE et FALSE valent 1 et 0


PHP_VERSION numéro de version de l'analyseur PHP
Exemple : echo (PHP_VERSION); // affiche 4.0.5

PHP_OS donne le système d'exploitation coté serveur


Exemple : echo (PHP_OS); // affiche Win 8

57
Les opérateurs
PHP dispose des opérateurs classiques inspirés des langages C et Perl.
Les opérateurs Arithmétiques:
Opérateur Effet
+ Ajoute deux valeurs Remarque:
- Soustrait deux valeurs l'opérateur/
renvoie un entier
* Multiplie deux valeurs si les 2 opérandes
/ Divise deux valeurs sont des entiers,
sinon il renvoie un
% Modulo de la division
flottant.
++ Incrément
-- Décrément 58
Les opérateurs
Les opérateurs d’ Affectation:
Opérateur Effet
= affectation
+= addition puis affectation
-= soustraction puis affectation
multiplication puis
*=
affectation
/= division puis affectation
%= modulo puis affectation

59
Les opérateurs
Les opérateurs de Comparaison:

Opérateur Effet
== égalité
=== Identique et de même type
> supérieur strictement
< inférieur strictement
>= supérieur ou égal
<= inférieur ou égal
!= , <> diffèrent
!== Diffèrent et pas de même type 60
Les opérateurs
Les opérateurs logiques:

Opérateur Effet
&&, AND Et logique
||, OR Ou logique
XOR Ou exclusif
! , NOT Négation

61
Les opérateurs
Les opérateurs Binaires :

Opérateur Effet Exemple Affichage


& ET echo 3 & 6 ; 0011 AND 0110 => 2
| OU echo 3 | 6 ; 0011 OR 0110 => 7
^ XOR echo 3 ^ 6 ; 0011 XOR 0110 => 5
~ NOT echo ~3; NOT 3 => -4

62
Les opérateurs
Divers :
Opérateur Effet Exemple Affichage
$chaîne = "Votre nom
est" ;
Votre nom est
. concaténation $nom = "Toto";
Toto
echo $chaîne . " " .
$nom;
opérateur de test
trinaire.
$a= $b =1;
Sa syntaxe est
?: ( $a == $b ) ? $c= 10 : effectue $c = 10
[test logique] ?
$c = 20;
[expression si vrai] :
[expression si faux]
63
Exercice
Objectifs : Calcul sur des variables. Gestion des types de données.
Reproduire la page suivante en utilisant le langage PHP

1. Créer une balise de titre H1 :


«Calcul sur les variables».
2. Affecter respectivement les
valeurs 0.296, 150 et 10 aux
variables TVA, prix et
3. Nombre.
4. Calculer le prix HT et le prix
TTC pour les 10 articles et les
afficher.
TTC=HT x (1+TVA)
5. On affichera également le type
de chaque variable. 64
Les structures conditionnels

q Les instructions de contrôle (instructions if) s’utilisent de manière


similaire en PHP et en C.
q La syntaxe est quasiment la même, excepté que le langage PHP
possède également l’instruction elseif.
q Comme en C, si plusieurs instructions doivent être effectuées pour
une valeur du test, ces instructions doivent être délimitées par des
accolades.

65
Les structures conditionnels
q L'instruction if
ü if(conditionréalisée){listed'instructions}
q L'instruction if ... Else
ü if(conditionréalisée){listed'instructions}
else { autre série d'instructions }
q L'instruction if ... elseif ... Else
ü if(conditionréalisée){listed'instructions}
elseif (autre condition ) {autre série d'instructions }
else { série d'instructions } 66
Les structures conditionnels
Exemple:

67
Les structures conditionnels
q Opérateur ternaire
ü (condition) ? Instruction_si_vrai : instruction_si_faux
q L'instruction switch
ü switch (Variable) {
case Valeur1: Liste d'instructions; break;
case Valeur1: Liste d'instructions; break;
case Valeurs ... : Liste d'instructions; break;
default: Liste d'instructions; break;
} 68
Les structures conditionnels
Exemple:

69
Les structures répétitives
q En PHP, on dispose des structures de boucle similaires au langage C.
q La boucle for
ü for(initialisation;condition;progression){bloc d’instructions;}
q La boucle while
ü While(condition){bloc d’instructions;}
q La boucle do...while
ü Do{bloc d’instructions;} while(condition);
q La boucle foreach (PHP4)
ü Foreach($tableau as $valeur){bloc d’instructions;} 70
Les structures répétitives
L'instruction break permet de sortir d'une boucle à tout moment.
L'instruction continue permet de revenir au début de la boucle.

71
Les tableaux
Tableaux indicés
q Les tableaux sont un type composé.
q Ils permettent de stocker sous un même nom de variable plusieurs
valeurs indépendantes d’un des types de base.
q C’est comme un tiroir divisé en compartiments. Chaque
compartiment, que nous nommerons un élément du tableau, est
repère par un indice numérique (le premier indice ayant par défaut la
valeur 0 et non 1). D’où l’expression de tableau indicé.
q Les éléments d’un tableau peuvent être de types différents et sont
séparés d’une virgule. 72
Les tableaux

Tableaux indicés:
Déclaration : $tab= array();
Affectations $tab[0]=val1; $tab[1]=val2; …
Ou bien
$tab= array(val1, val2,…);
Exemple:

73
Les tableaux
Tableaux indicés (Fonctions relatives)
q Sizeof ($tableau): Renvoie le nombre d'éléments d'un tableau. C’est
un équivalent de count.
q is_array ($tableau): renvoie true si la variable est de type tableau
(ou tableau associatif), false sinon.
q reset($tableau): place le pointeur interne sur le premier élément du
tableau, chaque variable tableau possède un pointeur interne repérant
l'élément courant.
q end ($tableau): place le pointeur interne du tableau sur le dernier
élément du tableau. 74
Les tableaux
Tableaux indicés (Fonctions relatives)
q current : renvoie l'élément courant du tableau.
q next : déplace le pointeur vers l'élément suivant, et renvoie cet
élément. S’il n'existe pas, la fonction renvoie false.
q prev : déplace le pointeur vers l'élément précédent, et renvoie cet
élément. S’il n'existe pas, la fonction renvoie false.
q each : la fonction $a=each($tableau) renvoie l'index et la valeur
courante dans un tableau à 2 elements, $a[0] contient l'index, $a[1] la
valeur.
75
Les tableaux
Tableaux indicés (Fonctions relatives)
q List ( $var1, $var2, ... ): transforme une liste de variables en tableau .
q key : la fonction key($tableau) renvoie l'index de l'élément courant du
tableau.
q sort ( $tableau ): trie par valeurs croissantes
q rsort ( $tableau ): par valeurs décroissantes
q in_array($var,$tab,$strict): test si la valeur de $var existe dans le
tableau $tab. Si $strict vaut true alors la fonction vérifiera aussi le type.
q array_merge($tab1,$tab2...): concatène les tableaux 76
Les tableaux
Tableaux associatifs

q Chaque élément d’un tableau peut aussi être identifié par une
étiquette, qui est une chaîne de caractères ou une variable de
type string, nommée clé, associée à l’élément du tableau.
Exemple:

77
Les tableaux
Tableaux associatifs

q La fonction array() permet de définir une tableau associatif


d’une manière plus expressive.
Voir l’exemple suivant :

78
Les tableaux
Tableaux associatifs (Fonctions relatives)

q isset () : pour tester l'existence d'un élément.

Exemple:

79
Les tableaux
Tableaux associatifs (Fonctions relatives)

q asort, arsort, ksort, aksort : Ces fonctions de tri conservent


la relation entre l'index et la valeur, généralement le cas dans
un tableau associatif.
ü asort trie par valeurs croissantes,

ü arsort par valeurs décroissantes,

ü ksort trie par index (key) croissantes.

80
Exercice
Créer un Tableau associatif Contenant les noms des 12 mois de
l’année en Français et en Anglais (les nom en français sont associé
au nom en anglais).

81

Vous aimerez peut-être aussi