9- PHP ===> Les Fonctions

0 commentaires
Principe d'utilisation :


        Les fonctions sont des expressions qui ont la valeur de leur "valeur de retour".
Par exemple, considérons la fonction suivante :
function foo () {
return 5;
}
alors on peut dire que Si foo() renvoie 5, la valeur de l'expression 'foo()' est 5.
et donc $c = foo() est équivalent à $c = 5
Habituellement, les fonctions ne font pas que renvoyer une valeur constante
mais réalisent aussi des traitements.
Syntaxe :
Une fonction peut être définie en utilisant la syntaxe suivante :

function foo ($arg_1, $arg_2, ..., $arg_n) {
echo "Exemple de fonction.\n";
return $retval;
}

La valeur est renvoyée en utilisant une instruction de retour return optionnelle.
Tous les types de variables peuvent être renvoyés.

function square($num) {
return $num * $num;
}
echo square(4); // affiche '16'.

Exemple :
<?
function square($val)
{
$retour=$val*$val;
return $retour;
}
$num=4;
/* appel de la fonction*/
echo square($num);
?>

<HTML>
<BODY>
<FORM action=square.php3 method=post>
Veuillez entrer une valeur <input type=text name=num><br>
<input type=submit value=Calculer><input type=reset value=Effacer>
</form>
</body>
</html>

Le script modifié devient alors:

<?
function square($val)
{
$retour=$val*$val;
return $retour;
}
/* appel de la fonction*/
echo "vous avez tapé la valeur $num. Sa valeur au carré s'élève à ".
square($num);
?>

Valeurs de retour multiples:

      On a dit précédemment que la valeur est renvoyée en utilisant une instruction de retour return optionnelle. Même si nous n’avons pas encore abordé les tableaux, il faut savoir que une fonctions ne peut pas renvoyer plusieurs valeurs de retour, mais elle peut renvoyer un tableau !

N.B : dans cet exemple, même si on ne voit pas bien le fonctionnement de List (nous verrons cela dans le chapitre consacré aux tableaux…), on voit bien que la fonction renvoit un tableau, et que on récupère dans 3 variables les 3 valeurs du tableau…

function small_numbers() {
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
echo $zero;
echo $one;

echo $two;


PASSAGE DE PARAMETRES

Principe:

      Des informations peuvent être passées à une fonction en utilisant un tableau d'arguments, dont chaque élément est séparé par une virgule. Un élément peut être une variable ou une constante.
Par défaut, les arguments sont passés à la fonction par valeur (donc vous pouvez changer la valeur d'un argument dans la fonction, cela ne change pas sa valeur à l'extérieur de la fonction)

<?php
function ajout($string) {
$string = $string.", et un peu plus.";
echo "dans la fonction";
echo $string; // affiche le contenu de string concaténé à la chaîne ", et un peu plus."
echo "<br>";
}
$str = "Ceci est une chaîne";
echo "avant l'appel de la fonction ";
echo $str;
echo "<br>";
ajout($str);
echo "après l'appel à la fonction ";
echo $str; // affiche le contenu de string une fois sortie de la fonction.

?>

       Deux méthodes existent, selon que vous souhaitiez passer les arguments toujours par référence (on le prévoit dans la fonction) ou selon que vous souhaitiez passer les arguments tantôt par référence et tantôt par valeur (cela dépendra de l’appel de la fonction).

1° méthode :
    Si vous voulez qu'un argument soit toujours passé par référence, vous pouvez ajouter un '&' devant l'argument dans la déclaration de la fonction Dans ce cas quel que soit l’appel, les paramètres sont passés par référence.

function ajout(&$string) {
$string = $string.", et un peu plus.";
}

2° méthode :
    Si vous souhaitez passer une variable par référence à une fonction mais de manière ponctuelle, vous pouvez ajouter ou non un '&' devant l'argument dans l'appel de la fonction:

function ajout($string) {
$string = $string.", et un peu plus.";
}
Dans ce cas un appel avec un '&' est appel par référence
ajout(&$str);
Dans ce cas un appel sans le '&' est appel par valeur

ajout($str);



0 commentaires:

Enregistrer un commentaire

Copyright 2013 © 2 Rattrapage