Académique Documents
Professionnel Documents
Culture Documents
Pr. FISSOUNE R
4/21/2020 ‹N°›
PHP
Tableaux
Fonctions
PLAY
Expressions régulières
1
21/04/2020
Les tableaux(1)
Principe
– fonction array()
– La fonction count() .
• Création / initialisation:
$tab1=array(12, " gsea", 2.5) ;
$tab2[] = 12 ;
$tab2[] = "gsea" ; Clé Valeur
$tab2[] = 2.5 ; 0 12
1 "gsea"
PLAY
$tab3[0] = 12 ; 2 2.5
$tab3[1] = " gsea " ;
$tab3[2] = 2.5 ;
2
21/04/2020
Les tableaux(2)
Tableau indicé
$tableau[indice] = valeur;
$jour[3] = "Mercredi";
$note[0] = 20;
$variable = $tableau[indice];
$JJ = $jour[6]; // affecte "Samedi" à $JJ
echo $note[1] + $note[5];
4/21/2020 Pr. FISSOUNE R ‹N°›
Les tableaux(3)
Tableau associatif
• table de hachage
– Les éléments sont référencés par des chaînes de caractères
associatives en guise de nom: la clé d’index
$tableau["indice"] = valeur;
$jour["Dimanche"] = 7
$jour["Mercredi"] = "Le jour des enfants"
$variable = $tableau["indice"];
$JJ = $jour["Vendredi"]; //affecte 6 à $JJ
echo $jour["Lundi"]; //retourne la valeur 2
3
21/04/2020
Les tableaux(4)
Tableaux multidimensionnels
Les tableaux(5)
Tableaux multidimensionnels
4
21/04/2020
Les tableaux(6)
Tableaux: navigation
Les tableaux(exemples)
Tableaux: navigation
PLAY
5
21/04/2020
Les tableaux(7)
Tableaux : navigation
Les tableaux(8)
Tableaux associatifs
$tableau = array(clé1 => val1, clé2 => val2, ..., cléN =>
valN);
foreach($tableau as $clé => $valeur) {
echo "Valeur ($clé): $valeur"; }
6
21/04/2020
Les tableaux(9)
Fonctions de Tri
FONCTION DESCRIPTION
sort() tri sur les valeurs des éléments d’un tableau selon un
critère alphanumérique :selon les codes ASCII :
Le tableau initial est modifié et non récupérables dans
son ordre original
Pour les tableaux associatifs les clés seront perdues et
remplacées par un indice créé après le tri et
commencant à 0
rsort() PLAY
même action mais en ordre inverse des codes ASCII.
asort() trie également les valeurs selon le critère des codes ASCII,
mais en préservant les clés pour les tableaux associatifs
arsort() même action mais en ordre inverse des codes ASCII
natcasesort() tri dans l’ordre alphabétique non ASCII (« a » est avant
« z » et « 10 » est après « 9 »)
Les tableaux(10)
Fonctions de Tri
<?php PLAY
$tab2 = array ("1622"=>"Molière","1802"=>"Hugo","1920"=>"Vian") ;
ksort ($tab2);
echo "<h3 > Tri sur les clés de \$tab2 </h3>" ;
foreach ($tab2 as $cle=>$valeur) {
echo "<b> l’élément a pour clé : $clé; et pour valeur : $ valeur
</b> <br />";
}
?>
4/21/2020 Pr. FISSOUNE R ‹N°›
7
21/04/2020
Les tableaux(11)
Fonction Description
Fonctions
$tableau = array_count_values($variable); retourne un tableau comptant le nombre
d'occurrences des valeurs d'un tableau.
Les tableaux(11)
Fonctions
<?php
function impair($var)
{return ($var % 2 == 1);}
function pair($var)
{return ($var % 2 == 0);}
8
21/04/2020
Les tableaux(11)
Fonctions
• Les fonctions de tableaux
???
PLAY
9
21/04/2020
Fonctions
1. Introduction
2. Déclaration
3. Utilisation des paramètres
4. Variables globales
5. Variables statiques
6. Récursivité
PLAY
7. Fonctions dynamiques
8. Nombre variable de
paramètres
Introduction
types de fonctions :
Pourquoi :
10
21/04/2020
Les fonctions(1)
<?php
Les fonctions(1)
Exemple
PLAY
11
21/04/2020
Les fonctions(2)
func_num_args()
func_get_arg($i)
PLAY
Les fonctions(1)
<?php
function produit()
{
$nbarg = func_num_args() ;
$prod=1 ;
// la fonction produit a ici $nbarg arguments
for ($i=0 ; $i <$nbarg ; $i++)
{ PLAY
$prod *= func_get_arg($i)
}
return $prod;
}
echo "le produit est : ", produit (3, 77, 10, 5, 81, 9), "<br />" ;
?>
12
21/04/2020
PLAY
Les fonctions(1)
PLAY
Mais !!!
13
21/04/2020
Les fonctions(1)
Différence???? PLAY
Les fonctions(1)
<?
function dire_texte($qui, &$texte)
14
21/04/2020
PLAY
Les fonctions(1)
Variables globales
Utilisation du Global
Rappel : les variables déclarées et utilisées au sein d'une fonction
sont locales à la fonction. Une variable globale déclarée à
PLAY en
l'intérieur d'une fonction permet à une variable d'être accessible
dehors de la fonction.
Dans ce cas, la position de l'appel de la fonction est importante.
15
21/04/2020
Les fonctions(1)
Variables globales
<?php
$a = 0;
$b = 1;
test_global($b);
echo "a = " .$a. " b = " .$b. " c = " .$c;
function test_global($b)
{ PLAY
global $a;
global $c;
$a++;
$c = 2;
$b++;
}
?>
PLAY
16
21/04/2020
Les fonctions(1)
Variables statiques
déclarée à l'intérieur d'une fonction à l'aide de l'instruction static
permet à une variable de garder sa valeur à chaque appel de la
fonction.
<html><body>
<?php
function stat_fonc()
{
static $cpt = 0;
$cpt++; PLAY
echo $cpt;
}
stat_fonc();
stat_fonc();
?>
</body></html>
Les fonctions(1)
Récursivité
function reverse_r($str)
{
PLAY
if(strlen($str) > 0)
reverse_r(substr($str, 1));
echo substr($str, 0, 1);
return;
}
?>
</body></html>
17
21/04/2020
Les fonctions(1)
Récursivité
Les fonctions récursives sont principalement utilisées pour naviguer dans les structures de
données dynamiques (listes et arbres).
Sinon, dans de nombreux cas, la récursivité est équivalente à une répétition (itération). Les
fonctions récursives sont plus lentes et consomment plus de mémoire que les itérations.
Le même exemple réalisé par itération :
Fonctions dynamiques
<?php
function write($text)
{
print($text);
}
function writeBold($text)
{
print("<b>$text</b>"); PLAY
}
$fonction_var = "write";
$fonction_var("toto"); // affiche toto
$fonction_var = "writeBold";
$fonction_var("toto"); // affiche toto en gras
18
21/04/2020
Les fonctions(1)
Appel dynamique
Les fonctions(1)
Variables
<?php
function cumul ($prix) { static $cumul = 0 ;
static $i = 1 ;
echo "Total des achats $i = ";
$cumul += $prix; $i++ ; PLAY
return $cumul ; }
echo cumul (175), "<br />" ;echo cumul (65), "<br
/>" ;echo cumul (69), "<br />" ; ?>
19