Vous êtes sur la page 1sur 16

Langage de script

PHP

Chapitre 2 : Les fonctions, Expressions régulières et


Tableaux

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 1/16


Les fonctions en PHP
PHP possède plus de 1000 fonctions intégrées qui peuvent être appelées directement, à partir d'un script, pour effectuer une tâche
spécifique.
<?php
 Quelques fonctions Mathématiques: $x = -30.5;
o ceil($x) : arrondi supérieur echo abs($x); //30.5
echo "<br>";
o floor($x) : arrondi inférieur $y= 5.321;
echo ceil($y); //6
o pow($x,$y) : x exposant y echo "<br>";
o round($x,3) : arrondi de x à la 3 décimale echo floor($y); //5
echo "<br>";
o max($a, $b, $c …) : retourne le maximum echo round($y); //5
echo "<br>";
o rand($x,$y) : valeur aléatoire entre x et y echo round($x); //-31
o cos, sin, tan, exp, log, min, pi, sqrt …. echo "<br>";
echo round($y,2); //5.32
?>

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 2/16


Fonctions liées au texte prédéfini $t1 = "Bonjour chers amis ";
echo strtolower($t1);
 strtolower($str) : conversion en minuscules //bonjour chers amis
 strtoupper($str) : conversion en majuscules echo "<br>";
echo strtoupper($t1);
 lcfirst() - convertit le premier caractère d'une chaîne //BONJOUR CHERS AMIS
en minuscules echo "<br>";
$t2 = "Bonjour Chers Amis ";
 ucfirst() - convertit le premier caractère d'une chaîne echo lcfirst($t2);
en majuscules //bonjour Chers Amis
echo "<br>";
 ucwords() - convertit le premier caractère de chaque $t3 = "bonjour chers amis ";
mot d'une chaîne en majuscule echo ucfirst($t3);
//Bonjour chers amis
 trim($str) : suppression des espaces de début et de fin echo "<br>";
de chaîne echo ucwords($t3);
//Bonjour Chers Amis
 substr($str,$i,$j) : retourne une sous chaîne (entre les echo "<br>";
positions i et j) echo substr($t3,8,5);//chers
echo "<br>";
 strnatcmp($str1,$str2) : comparaison de 2 chaînes. echo var_dump(strnatcmp($t2, $t3)); //int(-1)

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 3/16


Autres fonctions prédéfini en PHP
 include() - require() - require_once()
test.php
 Ces fonctions peuvent inclut un fichier spécifié dans un
script PHP. <?php
echo"<h1> Clients </h1>";
 Syntaxe: require("fichier.php"); ou include("fichier.php"); $nom = "El";
$prenom = "Ali";
 include() lancera une warning s'il ne peut pas inclure le $age=50;
?>
fichier, mais le reste du script s'exécutera.
home.php
 require() lancera un E_COMPILE_ERROR et arrêtera le
<html>
<head><title>Home</title></head>
script s'il ne peut pas inclure le fichier. <body>
<?php
 Les fonctions include_once() et require_once() n'incluront include("test.php");
echo "<p>Bonjour $nom $prenom, vous avez $age
ans.</p>";
pas le fichier une seconde fois s'il a déjà été inclus. ?>
</body>
</html>

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 4/16


Fonctions personnalisées en PHP
Une fonction est un sous-programme qui permet d'effectuer un ensemble d'instructions par
simple appel dans le corps du programme principal.
PHP permet l’écriture nos propres fonctions.
<?php
Syntaxe: function sayHello($fname) {
echo "Hello $fname !<br>";
function functionName() { }

code to be executed; sayHello("Amine");


sayHello("Ali");
} sayHello("students");

?>

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 5/16


Arguments des fonctions PHP
<?php Valeur par défaut de l'argument PHP
function sum($a,$b) {
return $a+$b; function sum($a=1,$b=2) {
} return $a+$b;
}
echo sum(5,10);//15
echo sum(5,"10");//15 echo sum(2,10);//12
echo sum(5,"10a");//error echo sum(3);//5
echo sum();//3
?>

Passage d'arguments par valeur Passage d'arguments par référence (&)

function add_five($value) { function add_five(&$value) {


return $value = $value+1; return $value = $value+1;
} }
$num = 2; $num = 2;
echo add_five($num);//3 echo add_five($num);//3
echo $num; //2 echo $num; //3

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 6/16


Arguments des fonctions PHP
<?php Valeur par défaut de l'argument PHP
function sum($a,$b) {
return $a+$b; function sum($a=1,$b=2) {
} return $a+$b;
}
echo sum(5,10);//15
echo sum(5,"10");//15 echo sum(2,10);//12
echo sum(5,"10a");//error echo sum(3);//5
echo sum();//3
?>

Passage d'arguments par valeur Passage d'arguments par référence (&)

function add_five($value) { function add_five(&$value) {


return $value = $value+1; return $value = $value+1;
} }
$num = 2; $num = 2;
echo add_five($num);//3 echo add_five($num);//3
echo $num; //2 echo $num; //3

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 7/16


Exercice : Un seul formulaire.

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 8/16


Expression régulière
 Fonctions d'expressions régulières:
 Une expression régulière est une séquence de
caractères qui forme un modèle de recherche.
 reg_match() Renvoie 1 si le pattern a été
Lorsque vous recherchez des données dans un
trouvé dans la chaîne et 0 sinon.
texte, vous pouvez utiliser ce modèle de
recherche pour décrire ce que vous
 preg_match_all() Renvoie le nombre de fois
recherchez.
 que le pattern a été trouvé dans la chaîne, qui
En PHP, les expressions régulières sont des
peut aussi être 0.
chaînes composées de délimiteurs, d'un
pattern et de modificateurs optionnels.
 preg_replace() Renvoie une nouvelle chaîne
 $exp = "/ pattern / modificateurs " ;
où les patterns recherchés ont été remplacés
par une autre chaîne.

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 9/16


Expression régulière: Exemples
$str = "Hello ali ali!";
$pattern = "/Ali/i";
echo preg_match($pattern, $str); // Outputs 1
echo "<br>";

$str = " Hello ali El and Amine El";


$pattern = "/el/i";
echo preg_match_all($pattern, $str); // Outputs 3
echo "<br>";

$str = "Hello ali!";


$pattern = "/ali/i";
echo preg_replace($pattern, "Amine", $str); // Outputs
"Hello Amine"

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 10/16


Expression régulière: Exemples
$str = "Hello ali ali!";
 [abc] Trouver un caractère parmi les $pattern = "/Ali/i";
options entre les crochets. echo preg_match($pattern, $str); // Outputs 1
echo "<br>";
 [^abc] Trouver n'importe quel caractère $str = " Hello ali El and Amine El";
qui n'est PAS entre les crochets. $pattern = "/el/i";
echo preg_match_all($pattern, $str); // Outputs
 [0-9] Recherche d'un caractère dans la 3
plage 0 à 9. echo "<br>";
$str = "Hello ali!";
Pour d'autres options: $pattern = "/ali/i";
PHP Regular Expressions (w3schools.com) echo preg_replace($pattern, "Amine", $str); //
Outputs "Hello Amine"
echo "<br>";
$pattern = "/[z]/i";
echo preg_match_all($pattern, $str); // Outputs
0
$pattern = "/[^0-9]/i";
echo preg_match_all($pattern, $str); // Outputs
10

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 11/16


Les Tableaux En PHP
Les tableaux indexé:
 Tableaux : variables qui peuvent //Déclaration d'un tableau indexé
$students = array("Ali El", "Amine El", "Jad Ze");
contenir plusieurs valeurs.
$clients = ["Ali El", "Amine El", "Jad Ze"];
 Les tableaux peuvent stocker une ou echo "We are" . $students[0] . ", " . $students[1] . " and "
. $students[2] . ".";
plusieurs valeurs à la fois (de types //for
for($x = 0; $x < count($clients); $x++) {
différents). echo $clients[$x];
echo "<br>";
 Deux types distincts de tableaux : les }
// foreach
tableaux indexé et les tableaux foreach($clients as $c) {
echo $c;
associatifs. echo "<br>";
}

// affichage dans une liste html

echo "<ul>";
foreach($clients as $c) {
echo "<li>$c</li>";
echo "<br>";
}
echo "<ul>";

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 12/16


les tableaux associatifs
les tableaux associatifs
 Les tableaux associatifs sont des
$age = array("Ali"=>"35", "Jad"=>"3",
tableaux qui utilisent des clés "Amine"=>"50");
nommées que vous leur attribuez. echo $age["Ali"];//35
foreach($age as $x => $x_value) {
echo "Prenom=" . $x . ", Age=" . $x_value;
echo "<br>";
}

//affichage dans un tableau HTML

echo "<table border='3'>";


echo "<tr><th>Prenom</th><th>Age</th></tr>";
foreach($age as $x => $x_value) {
echo
"<tr><td>$x</td><td>$x_value</td></tr>";
echo "<br>";
}
echo "</table>";
Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 13/16
Fonctions liées aux Tableaux

 Quelques fonctions utiles


 count($tab), sizeof : retournent le nombre d’éléments du tableau
 in_array($var,$tab) : teste si la valeur de $var existe dans le tableau $tab
 list($var1,$var2…) : transforme une liste de variables en tableau
 range($i,$j) : retourne un tableau contenant un intervalle de valeurs
 shuffle($tab) : mélange les éléments d’un tableau
 sort($tab) : trie alphanumérique les éléments du tableau
 array_count_values($tab) : retourne un tableau associatif contenant les valeurs du tableau $tab
comme clés et leurs fréquence comme valeur
 array_keys($tab) : retourne un tableau contenant les clés du tableau associatif $tab
 array_values($tab) : retourne un tableau contenant les valeurs du tableau $tab
 array_search($val,$tab) : retourne la clé associée à la valeur $val

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 14/16


Fonctions liées aux Tableaux

$age = array("Ali"=>"35", "Jad"=>"3","Amine"=>"50");

echo count($age);// ou sizeof($age) 3


echo "<br>";
echo sizeof($age);
echo "<br>";
$t=[1,5,3,1];
list($a,$b,$c) = $t;
echo $a;//1
shuffle($t);
echo sort($t); //apres boucle:1 1 3 5

print_r(array_count_values($t)) ;//Array ( [1] => 2 [3] => 1 [5] => 1 )

print_r(array_keys($age)); //Array ( [0] => Ali [1] => Jad [2] => Amine )

echo array_search(3,$age); //Jad

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 15/16


Exercice:
On vous propose dans cet exercice un tableau associatif 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 et affiche dans un tableau html:
prenom note
said 13
badr 16
najat 15

2.Ajouter au tableau la note 10 de l’étudiant « Ali".

3. supprimer la note de l’étudiant « najat". unset()

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

Mr. Amine ZEGUENDRY | A.Zeguendry@emsi.ma 16/16

Vous aimerez peut-être aussi