Professional Documents
Culture Documents
Filière : IG4
Partie I
I. Présentation de PHP
V. Les fonctions
I. Présentation de PHP
texte.
Caractéristiques du langage PHP
sur le serveur .
code HTML.
Les fichiers PHP sont avec une extension '.php' (ou .php3, .php4).
Fonctionnement du langage
PHP avec le serveur APACHE
Caractéristiques du langage PHP (suite)
Les noms d'instruction et les mots clé, les noms de fonctions (standards ou
majuscules ou en minuscules.
Les commentaires peuvent être mis dans le code. Trois syntaxes sont
disponibles :
résultat.
Le code pourrait être écrit de la façon suivante
I. Variables et types de données
Dans PHP, les variables peuvent provenir de plusieurs sources :
(underscore). Les caractères suivants peuvent être des lettres, des nombres, le
caractère _.
Les variables n'ont pas besoin d'être déclarées. La première fois où une
$x = 12345;
echo '<p>La variable x est égale à ', $x;
echo '<br>Elle est maintenant du type ', gettype($x);
$x = 12345.678 * 10 + 15;
echo '<p>La variable x est égale à ', $x;
echo '<br>Elle est maintenant du type ', gettype($x);
?>
Portée d’une variable
Quand une variable est définie dans une fonction, sa portée est locale à la
fonction.
Quand une variable est définie en dehors d'une fonction, sa portée est globale
Toutes les fois qu'un paramètre est trouvé dans l'URL de la page, PHP va
A partir de PHP 4.1, ces variables sont également stockées dans le tableau
de superglobales $_POST.
Variables prédéfinies provenant d'un cookie
setcookie('Nom','piat')
$HTTP_ENV_VARS et $HTTP_SERVER_VARS.
La fonction isset() permet de savoir si une variable est définie (si une valeur lui
est affectée).
Exemple
<html>
<head><title>variables définies ou non</title></head>
<body>
<?php
TestVariable($x); // la variable x n'est pas définie
$x = 100; // assignation d'un valeur
TestVariable($x);
Les valeurs saisies par un utilisateur dans un formulaire sont toujours considérées
Même si l'utilisateur saisi 0 (zéro), cette valeur sera traitée comme une chaîne de
Un tableau ou une variable texte venant d'un formulaire à travers des cases à
cocher ou des boutons radio pourra être indéfini (unset) si l'utilisateur n'a pas coché
les cases.
l'utilisateur n'y saisit rien, la variable contiendra une chaîne vide ('').
Les valeurs TRUE, FALSE et NULL ne peuvent pas venir de la saisie d'un utilisateur.
La variables générées par un script peuvent prendre toutes les valeurs énoncées.
Nous utiliserons les opérateurs et fonctions suivantes pour tester la valeur des variables :
Concaténation de chaînes
La concaténation de chaînes se fait avec
l'opérateur . (point). Si nécessaire, les
opérandes sont convertis automatiquement en
chaînes.
Les chaînes peuvent être entourées de guillemets simples ou doubles. PHP
traîtera différemment les chaînes suivant le type des guillemets :
- si la chaîne est entourée de guillemets simples, elle est évaluée tel que.
- si la chaîne est entourée de guillemets doubles, les variables éventuelles
contenues dans la chaîne seront remplacées par leur valeur.
Exemple : concaténation de chaînes
<html>
<head><title>Concaténation de chaînes</title></head>
<body>
<?php
$x = 'François';
$y = 'Piat';
Opérateurs de comparaison
==
!=
>=, <=, >,<
Opérateurs logiques
AND ou &&
OR ou ||
!
XOR
Opérateurs d'assignement
Instruction conditionnelle if
if (condition) {
instruction
[instruction
instruction]
}
if (condition) {
instruction
[instruction
instruction]
} else {
instruction
[instruction
instruction]
}
if (condition1) {
instruction
[instruction
instruction]
} elseif (condition2) {
instruction
[instruction
instruction]
} elseif (condition3) {
instruction
[instruction
instruction]
} else {
instruction
[instruction
instruction]
}
Instructions conditionnelle Switch
switch (expression){
case label1 :
instruction
break
case label2 :
instruction
break
...
default : instruction
}
Exemple
<?
echo '<b>Tableau index numérique</b>';
$Tableau = array('Pierre', 'Paul', 'Jacques', 'François');
die est un alias de exit et peut être utilisée à sa place avec les même règles.
Exemple:
Mysql_select_db(‘gestcomm’) or die (‘Impossible de se connecter à la BD’);
Les fonctions
traitements variés
Déclarer et appeler une fonction
function Nom_fonction ([param1 [,param2 ...., paramn]])
Le nom d'une fonction doit commencer par une lettre ou le caractère _
(underscore)
Les fonctions peuvent être déclarée n'importe où dans la page, avant
ou après leur appel.
Renvoi de valeur
Généralement les fonctions retournent une valeur. Pour cela, nous emploierons le
l'intérieur de cette fonction. Dans notre exemple, la variable $Html n'est pas
l'intérieur de la fonction
<html>
<head><title>Portée des variables</title></head>
<body>
<?php
$Var_script = 'script';
echo Affiche_simple();
echo Affiche_global();
echo '<p><b>En dehors d\'une fonction</b>'
.'<br>Variable Var_script : '. $Var_script
.'<br>Variable Var_fonction : '. $Var_fonction;
function Affiche_simple() {
$Var_fonction = 'fonction';
return '<p><b>Dans la fonction Affiche_simple</b>'
.'<br>Variable Var_script : ' . $Var_script
.'<br>Variable Var_fonction : ' . $Var_fonction;
}
//-------------------------------------------------------
function Affiche_global() {
global $Var_script;
return '<p><b>Dans la fonction Affiche_global</b>'
.'<br>Variable Var_script : ' . $Var_script
.'<br>Variable Var_fonction : ' . $Var_fonction;
}
?>
</body>
</html>
Nombre variable de paramètres
PHP fournit trois fonctions qui donnent des informations sur les arguments passés à
une fonction
• func_get_args :retourne les arguments d’une fonction sous forme de tableau
• func_get_arg: retourne un élément de la liste des arguments
• func_num_args: retourne le nombre d’arguments passés à la fonction
Inclure du code externe
Quatre instructions permettent d'inclure des fichiers externes dans un script :
include ('entete.html');
include_once ('fonctions_communes.php');
require ('commun/bibli.php');
require_once ('../bibli/mes_fonctions.php');
Comme pour les chaînes de caractères, PHP offre de nombreuses fonctions pour
travailler avec des tableaux.
Les tableaux peuvent être indexés ou associatifs et leur création est très facile,
directement, ou avec des fonctions de génération.
Les éléments d'un tableau peuvent être de n'importe quel type, et des éléments de
En interne, PHP stocke tous les tableaux sous la forme de tableaux associatifs.
• La création d'un tableau est très facile : stocker une valeur dans un tableau
un index numérique.
comme indexé)
Attention aux trous dans les tableaux indexés.
Si dans un tableau indexé, les index ne sont pas consécutifs, PHP ne comblera
pas automatiquement les trous. Cela peut parfois poser des problèmes dans les
itérations à travers ce type de tableau, comme le montre l'exemple suivant :
<html>
<head><title>Tableau à trous</title></head>
<body>
<?php
$t[0] = 'François';
$t[1] = 'Piat';
$t[5] = 407;
echo 'Nombre d\'éléments : ', count($t);
for ($i = 0; $i < count($t); $i++) {
echo "<br>Index = $i <br>Elément = $t[$i]
<br>";
}
?>
</body>
</html>
La solution pour éviter cette erreur est d'utiliser une instruction
foreachà la place de l'instruction forpour faire l'itération dans les
éléments du tableau :
<html>
<head><title>Tableau à trous</title></head>
<body>
<?php
$t[0] = 'François';
$t[1] = 'Piat';
$t[5] = 407;
echo 'Nombre d\'éléments : ', count($t);
//------------------------------------------------------
echo '<hr><b>Boucle avec for</b><hr>';
for ($i = 0; $i < count($t); $i++) {
echo "<br>Elément = $t[$i]";
}
//------------------------------------------------------
echo '<p><hr><b>Boucle avec foreach</b><hr>';
foreach ($t as $e) {
echo "<br>Elément = $e";
}
?></body></html>
Créer un tableaux avec array()
L'instruction array()permet de créer un tableau à partir des arguments qui lui sont
passés. Cette instruction est pratique pour créer des tableaux de petite taille.
<html>
<head><title>Créer des tableaux avec array()</title></head>
<body><pre>
<?php
$t = array();
InfoTableau($t);
echo '<hr><b>Tableau indexé</b><hr>';
function infoTableau($t) {
echo 'Tableau de ', count($t), ' éléments<br>';
print_r($t);
}?></body></html>
Syntaxe de l'instruction foreach :
<html>
<head><title>Boucle avec foreach</title></head>
<body><pre>
<?php
//---------------------------------------------------------
echo '<hr><b>Foreach avec un tableau associatif</b><hr>';
$ta['B41d'] = 'Pierre';
$ta['C24a'] = 'Paul';
$ta['D12z'] = 'Jacques';
PHP peut également trier un tableau par indice, à l’aide des fonctions ksort() et
brsort(), qui utilisent de la même manière que les fonctions précédentes
Une chaine de caractère est un ensemble de caractères entre guillemet simple ou double
Cette fonction retire les espaces blanc de début et de fin de chaine et retourne la chaine
nettoyée
Retourne une chaine constituée de tous les éléments du tableaux , pris dans l’ordre,
Retourne un tableau qui contient les éléments de la chaine string, séparés par sépérator