Fonctions PHP
La vraie puissance de PHP vient de ses fonctions.
PHP a plus de 1000 fonctions intégrées, et en plus vous pouvez créer vos propres fonctions personnalisées.
Fonctions intégrées PHP
PHP a plus de 1000 fonctions intégrées qui peuvent être appelées directement, depuis un script, pour effectuer une tâche spécifique.
Veuillez consulter notre référence PHP pour un aperçu complet des fonctions intégrées de PHP .
Fonctions PHP définies par l'utilisateur
Outre les fonctions PHP intégrées, il est possible de créer vos propres fonctions.
- Une fonction est un bloc d'instructions qui peut être utilisé à plusieurs reprises dans un programme.
- Une fonction ne s'exécutera pas automatiquement lors du chargement d'une page.
- Une fonction sera exécutée par un appel à la fonction.
Créer une fonction définie par l'utilisateur en PHP
Une déclaration de fonction définie par l'utilisateur commence par le motfunction
:
Syntaxe
function functionName()
{
code to be executed;
}
Remarque : Un nom de fonction doit commencer par une lettre ou un trait de soulignement. Les noms de fonction ne sont PAS sensibles à la casse.
Astuce : Donnez à la fonction un nom qui reflète ce que fait la fonction !
Dans l'exemple ci-dessous, nous créons une fonction nommée "writeMsg()". L'accolade ouvrante ({) indique le début du code de la fonction et l'accolade fermante (}) indique la fin de la fonction. La fonction affiche "Hello world!". Pour appeler la fonction, écrivez simplement son nom suivi de crochets ():
Exemple
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
Arguments de la fonction PHP
Les informations peuvent être transmises aux fonctions via des arguments. Un argument est comme une variable.
Les arguments sont spécifiés après le nom de la fonction, entre parenthèses. Vous pouvez ajouter autant d'arguments que vous le souhaitez, séparez-les simplement par une virgule.
L'exemple suivant a une fonction avec un argument ($fname). Lorsque la fonction familyName() est appelée, nous transmettons également un nom (par exemple Jani), et le nom est utilisé à l'intérieur de la fonction, qui affiche plusieurs prénoms différents, mais un nom de famille égal :
Exemple
<?php
function familyName($fname) {
echo "$fname Refsnes.<br>";
}
familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>
L'exemple suivant a une fonction avec deux arguments ($fname et $year) :
Exemple
<?php
function familyName($fname, $year) {
echo "$fname Refsnes. Born in $year <br>";
}
familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>
PHP est un langage faiblement typé
Dans l'exemple ci-dessus, notez que nous n'avons pas eu à indiquer à PHP le type de données de la variable.
PHP associe automatiquement un type de données à la variable, en fonction de sa valeur. Étant donné que les types de données ne sont pas définis au sens strict, vous pouvez par exemple ajouter une chaîne à un entier sans provoquer d'erreur.
En PHP 7, les déclarations de type ont été ajoutées. Cela nous donne une option pour spécifier le type de données attendu lors de la déclaration d'une fonction, et en ajoutant la strict
déclaration, il lancera une "erreur fatale" si le type de données ne correspond pas.
Dans l'exemple suivant, nous essayons d'envoyer à la fois un nombre et une chaîne à la fonction sans utiliser strict
:
Exemple
<?php
function addNumbers(int $a, int $b) {
return $a
+ $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is
changed to int(5), and it will return 10
?>
Pour spécifier strict
, nous devons définir declare(strict_types=1);
. Cela doit être sur la toute première ligne du fichier PHP.
Dans l'exemple suivant, nous essayons d'envoyer à la fois un nombre et une chaîne à la fonction, mais ici nous avons ajouté la strict
déclaration :
Exemple
<?php declare(strict_types=1); // strict requirement
function
addNumbers(int $a, int $b) {
return $a + $b;
}
echo addNumbers(5, "5
days");
// since strict is enabled and "5 days" is not an integer, an
error will be thrown
?>
La strict
déclaration force les choses à être utilisées de la manière prévue.
Valeur d'argument par défaut PHP
L'exemple suivant montre comment utiliser un paramètre par défaut. Si nous appelons la fonction setHeight() sans arguments, elle prend la valeur par défaut comme argument :
Exemple
<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>
Fonctions PHP - Retourner des valeurs
Pour laisser une fonction renvoyer une valeur, utilisez l' return
instruction :
Exemple
<?php declare(strict_types=1); // strict requirement
function sum(int $x,
int $y) {
$z = $x + $y;
return $z;
}
echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>
Déclarations de type de retour PHP
PHP 7 prend également en charge les déclarations de type pour l' return
instruction. Comme avec la déclaration de type pour les arguments de fonction, en activant l'exigence stricte, il lancera une "erreur fatale" sur une incompatibilité de type.
Pour déclarer un type pour le retour de la fonction, ajoutez deux-points (
:
) et le type juste avant l'accolade ouvrante ( {
) lors de la déclaration de la fonction.
Dans l'exemple suivant, nous spécifions le type de retour pour la fonction :
Exemple
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : float {
return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>
Vous pouvez spécifier un type de retour différent des types d'arguments, mais assurez-vous que le retour est du type correct :
Exemple
<?php declare(strict_types=1); // strict requirement
function addNumbers(float
$a, float $b) : int {
return (int)($a + $b);
}
echo addNumbers(1.2, 5.2);
?>
Passer des arguments par référence
En PHP, les arguments sont généralement passés par valeur, ce qui signifie qu'une copie de la valeur est utilisée dans la fonction et que la variable qui a été passée dans la fonction ne peut pas être modifiée.
Lorsqu'un argument de fonction est passé par référence, les modifications apportées à l'argument modifient également la variable qui a été passée. Pour transformer un argument de fonction en référence, l' &
opérateur est utilisé :
Exemple
Utilisez un argument de passage par référence pour mettre à jour une variable :
<?php
function add_five(&$value) {
$value += 5;
}
$num
= 2;
add_five($num);
echo $num;
?>