Fonctions utilisateur

En plus des fonctions prédéfinies de PHP, il existe des fonctions utilisateur.
Ce sont des sous programmes réutilisables définis et appelés par le programmeur.
Il existe des procédures et des fonctions : les premières ne renvoient pas de résultat, mais font simplement un traitement, les deuxièmes font un traitement et renvoient un résultat ou ‘retournent une valeur’.

Définition de fonction

Procédures et Fonctions, se définissent avec le mot réservé ‘function’ et peuvent accepter ou non des paramètres d’entrée.

Voici la syntaxe générale d’une fonction :

<?php
function f1($arg1, $arg2, …)
{
instructions;
return $valeur_retour;
}
?>

et pour une procédure …

<?php
function p1($arg_1, $arg_2, …)
{
instructions;
}
?>

Voyons un exemple concret de procédure qui calcule la somme de 2 nombres :

<?php
function calcule($a, $b)
{
// une la variable locale $resultat
$resultat = $a + $b;
// Affichage du résultat
print (« La somme de $a et $b est $resultat;
// pas de retour…
}
?>

et une fonction qui concatène 2 chaines passées en paramètre, et renvoie la valeur concaténée…

<?php
function concatene ($a, $b)
{
// une variable locale chaine
$concat = $a . $b;
// et on retourne le résultat…
return $concat;
}
?>

On se rend compte sur cet exemple qu’une fonction est implicitement typée. Elle est du type de la variable qu’elle retourne.

Appel de fonctions

On appelle (on execute) les fonctions en donnant leur nom et en leur passant (s’il y en a) des valeurs d’arguments réels.

Une procédure est appelée simplement, c’est une instruction simple :

nom_procedure(parametres);

La fonction renvoyant par définition une valeur, elle DOIT être utilisée dans une expression ou dans une fonction compatible avec son type.

Exemples de syntaxe :

$nom_var = nom_fonction(parametres);
// on imprime le résultat de la fonction
// un numérique ou une chaine suivant le type de la fonction
print ( « la fonction vaut : nom_fonction(parametres) « );

Exemple d’appel de notre fonction de concaténation :

$message = concatene(« bonjour », » mon ami »);

Exemple de code complet:

<?php
// on définit la fonction avant de l’utiliser
function concatene ($a, $b)
{
// une variable locale chaine
$concat = $a . $b;
// et on retourne le résultat…
return $concat;
}

// et maintenant on l’appelle avec des valeurs réelles
$c1 = « Bonjour, « ;
$c2 = « mon ami ! »;
print (« La concaténation est : « .concatene($c1,$c2));
?>

Note : une fonction peut ne pas avoir de paramètres ou avoir un nombre variable de paramètres.

Le manuel de référence complet des fonctions est disponible ici :
http://www.php.net/manual/fr/language.functions.php