République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
UNIVERSITÉ DE BLIDA 1, Faculté des Sciences, Département d’Informatique
Développement WEB(L2)
TP5
Dr. MIDOUN Khadidja
K_miodun@[Link]
2020-2021
PHP
Dr. MIDOUN Khadidja 5/20/2021 2
A PHP script
<?php
// PHP code
?>
Dr. MIDOUN Khadidja 5/20/2021 3
Les Boucle à travers un tableau indexé
<?php
$cars = array("Volvo", "BMW", "Toyota"); Volvo
$arrlength = count($cars);
BMW
for($i = 0; $i < $arrlength; $i++) { Toyota
echo $cars[$i];
echo "<br>";
}
?>
count(): return the length (the number of elements) of an array
Dr. MIDOUN Khadidja 5/20/2021 4
Les Boucle à travers un tableau indexé
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); Peter is 35 years old.
echo "Peter is " . $age['Peter'] . " years old.";
?>
Dr. MIDOUN Khadidja 5/20/2021 5
Les Boucle à travers un tableau indexé
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); Key=Peter, Value=35
Key=Ben, Value=37
foreach($age as $x => $x_value) { Key=Joe, Value=43
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
Dr. MIDOUN Khadidja 5/20/2021 6
Les Boucle à travers un tableau indexé
[Link]
<?php
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
);
for ($row = 0; $row < 4; $row++) {
echo "<p><b>Row number $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$cars[$row][$col]."</li>";
}
echo "</ul>";
}
?>
Dr. MIDOUN Khadidja 5/20/2021 7
Les opérations mathématiques
Dr. MIDOUN Khadidja 5/20/2021 8
EXERCICE 01
Dr. MIDOUN Khadidja 5/20/2021 9
Exercice 1
1. Ecrire un script qui calcule la somme de deux matrices carrées.
2. Ecrire un script qui calcule le produit de deux matrices, sachant que le
produit de deux matrices carrées
Dr. MIDOUN Khadidja 5/20/2021 10
Les opérations sur les matrices: Somme de deux matrices
Somme de deux matrices: A= 𝑎𝑖,𝑗 et B= 𝑏𝑖,𝑗 ∈ 𝑀𝑛,𝑚 𝐾
A+B= 𝑎𝑖,𝑗 + 𝑏𝑖,𝑗 = 𝑐𝑖,𝑗 = 𝑎𝑖,𝑗 + 𝑏𝑖,𝑗 ∀1≤𝑖≤𝑛 =C ∈ 𝑀𝑛,𝑚 𝐾
∀1≤𝑗≤𝑚
Exemple:
1 8 9 5 2 19
A, 𝐵 ∈ 𝑀3,3 (ℝ), 𝐴 = 10 16 4 , 𝐵 = 4 1 4
3 7 6 5 17 6
𝑎1,1 + 𝑏1,1 =1 + 𝟓 𝑎1,2 + 𝑏1,2 =8 + 𝟐 𝑎1,3 + 𝑏1,3 =9 + 𝟏𝟗
𝐴 + 𝐵 = 𝑎2,1 + 𝑏2,1 =10 + 𝟒 𝑎2,2 + 𝑏2,2 =16 + 𝟏 𝑎2,3 + 𝑏2,3 =4 + 𝟒
𝑎3,1 + 𝑏3,1 =3 + 𝟓 𝑎3,2 + 𝑏3,2 =7 + 𝟏𝟕 𝑎3,3 + 𝑏3,3 =6 + 𝟔
6 10 28
𝐴 + 𝐵 = 14 17 8
8 24 12
Dr. MIDOUN Khadidja 5/20/2021 11
La somme de deux matrices
<?php
$mA= array(
array(3,5,2),
array(2,3,2),
array(1,2,4)
);
$mB= array(
array(3,3,1),
array(1,3,2),
array(1,1,2)
);
?>
Dr. MIDOUN Khadidja 5/20/2021 12
La somme de deux matrices
Dr. MIDOUN Khadidja 5/20/2021 13
Les opérations sur les matrices: Produit de deux matrices:
Produit de deux matrices: A= 𝑎𝑖,𝑗 ∈ 𝑀𝑛,𝒎 𝐾 et B= 𝑏𝑗,𝑙 ∈ 𝑀𝒎,𝑝 𝐾
C=A×B= 𝐶𝑖,𝑙 ∈ 𝑀𝑛,𝑚 𝐾 OU 𝐶𝑖,𝑙 =σ𝑖=𝒎
𝑖=1 𝑎𝑖,𝑗 × 𝑏𝑗,𝑙
Exemple:
4 1 4
𝟏 𝟖 𝟗
A, ∈ 𝑀2,3 (ℝ) et 𝐵 ∈ 𝑀3,3 (ℝ), 𝐴 = ,𝐵 = 5 17 6
𝟏𝟎 𝟏𝟔 𝟒
7 4 2
𝐴×𝐵
𝟏×4 + 𝟖×5 + 𝟗×7 𝟏 × 1 + 𝟖 × 17 + 𝟗 × 4 𝟏×4 + 𝟖×6 + 𝟗×2
=
𝟏𝟎 × 4 + 𝟏𝟔 × 5 + 𝟒 × 7 𝟏𝟎 × 1 + 𝟏𝟔 × 17 + 𝟒 × 4 𝟏𝟎 × 4 + 𝟏𝟔 × 6 + 𝟒 × 2
107 173 70
𝐴×𝐵=
148 298 144
Dr. MIDOUN Khadidja 5/20/2021 14
Le produit de deux matrices
Dr. MIDOUN Khadidja 5/20/2021 15
EXERCICE 02
Dr. MIDOUN Khadidja 5/20/2021 16
Exercice 02
On vous propose le tableau associatif suivant qui contient les notes des
étudiants, ce tableau se compose de couples clé=>valeur (les clés sont les noms
des étudiant et les valeurs représentent les notes).
1. Créer et initialiser un tableau $notes avec les valeurs suivantes :
2. Ajouter au tableau la note 10 de l’étudiant "karim".
3. Supprimer la note de l’étudiant "badr".
4. Déterminer la note maximale et la note minimale du groupe.
5. Afficher le tableau après l'avoir trier par ordre alphabétique.
6. Classer les étudiants par ordre de mérite et afficher le tableau.
7. Déterminer la moyenne de la classe.
Dr. MIDOUN Khadidja 5/20/2021 17
Exercice 02: Q1. Créer et initialiser un tableau $notes avec les valeurs
Dr. MIDOUN Khadidja 5/20/2021 18
Exercice 02: Q2. Ajouter au tableau la note 10 de l’étudiant "karim".
Dr. MIDOUN Khadidja 5/20/2021 19
Exercice 02 : Q3. Supprimer la note de l’étudiant "badr".
Dr. MIDOUN Khadidja 5/20/2021 20
Exercice 02 : Q4. Déterminer la note maximale et la note minimale du
groupe.
Dr. MIDOUN Khadidja 5/20/2021 21
Exercice 02 : Q5. Afficher le tableau après l'avoir trier par ordre
alphabétique.
Dr. MIDOUN Khadidja 5/20/2021 22
Exercice 02 : Q6. Classer les étudiants par ordre de mérite et afficher le
tableau.
Dr. MIDOUN Khadidja 5/20/2021 23
Exercice 02 : Q7. Déterminer la moyenne de la classe.
Dr. MIDOUN Khadidja 5/20/2021 24
Exercice 02: Solution
<?php
$note = array( "said" => 13, "badr" => 16, "najat"=>15,);
var_dump($note);
$note["karim"]=10; //ajoute le couple "karim"=>10
var_dump($note); //affiche les informations structurées d'une variable
unset($note["badr"]); //supprimer l'element qui possède la clé "badr".
var_dump($note);
/* les fonction max() et min() renvoient successivement le maximum et le minimum des valeurs d'un tableau.*/
echo "la note maximale est: ",max($note)," la note minimale est: ",min($note);
// la boucle foreach pour parcourir les couples clé=>valeur d'un tableau
foreach($note as $x => $x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; }
// ksort() fonction qui trie les clés d'un tableau par ordre croissant
ksort($note);
echo "<br>";
// la boucle foreach pour parcourir les couples clé=>valeur d'un tableau
foreach($note as $x => $x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>";}
// arsort() effectue un tri croissant des valeurs
arsort($note);
foreach ($note as $key => $value) { echo "la note de l’étudiant $key est : $value <br>"; }
echo "la moyenne de la classe: ",round(array_sum($note)/count($note),2);
?>
Dr. MIDOUN Khadidja 5/20/2021 25
EXERCICE 04
Dr. MIDOUN Khadidja 5/20/2021 26
Exercice 02
1.Rédigez un script qui permet de tester si une chaîne ne contient que de lettres.
2. Ecrire un script qui teste si une chaîne de caractères contient le caractère '@' (le cas
d'une adresse e-mail).
3. Utiliser les expressions régulières pour vérifier si une chaîne de caractères correspond à :
•Un numéro de téléphone sous la forme : 00 00 00 00 00 ou 00-00-00-00-00
•Un matricule qui commence par 3 lettres et se termine par 2 chiffres (exemple
"abc12").
Dr. MIDOUN Khadidja 5/20/2021 27
Les fonctions utilisés
[Link]
Dr. MIDOUN Khadidja 5/20/2021 28
Exercice 02: Q1.Rédigez un script qui permet de tester si une chaîne ne
contient que de lettres.
Dr. MIDOUN Khadidja 5/20/2021 29
Exercice 02: [Link] un script qui teste si une chaîne de caractères
contient le caractère '@'
Dr. MIDOUN Khadidja 5/20/2021 30
Exercice 04: Q3:Utiliser les expressions régulières pour vérifier si une chaîne de caractères
correspond à un numéro de téléphone sous la forme : 00 00 00 00 00 ou 00-00-00-00-00
Dr. MIDOUN Khadidja 5/20/2021 31
Exercice 04: Q3:Utiliser les expressions régulières pour vérifier si une chaîne de caractères
correspond à un matricule qui commence par 3 lettres et se termine par 2 chiffres (exemple "abc12").
Dr. MIDOUN Khadidja 5/20/2021 32
Devoir pour TP06
Dr. MIDOUN Khadidja 5/20/2021 33
Exercices
Série PHP
1. Exercice 03.
2. Exercice 05.
3. Exercice 06.
Dr. MIDOUN Khadidja 5/20/2021 34
Exercice 3:
Dr. MIDOUN Khadidja 5/20/2021 35
Exercice 5:
Dr. MIDOUN Khadidja 5/20/2021 36
Exercice 6:
Dr. MIDOUN Khadidja 5/20/2021 37
Online PHP compiler
Dr. MIDOUN Khadidja 5/20/2021 38
Online PHP compiler
[Link]://[Link]/php/[Link]?filename=tryphp_compiler
2. [Link]
Dr. MIDOUN Khadidja 5/20/2021 39
Merci pour votre attention
k_midoun@[Link]
Dr. MIDOUN Khadidja 5/20/2021 40