⊗ppSpFnIFC 12 of 83 menu

Callbacks dans les fonctions intégrées en PHP

En PHP, il existe un certain nombre de fonctions intégrées qui acceptent des callbacks en paramètre. Nous étudierons le principe général de leur fonctionnement sur l'exemple de la fonction array_map. Cette fonction prend un callback comme premier paramètre et un tableau comme second. La fonction applique le callback à chaque élément du tableau et retourne le tableau modifié.

Voyons les options d'utilisation de cette fonction en tenant compte des connaissances acquises précédemment.

Option 1

Extrayons la racine carrée de chaque élément du tableau à l'aide de la fonction intégrée sqrt. Pour cela, nous passerons en paramètre comme callback une chaîne contenant le nom de cette fonction :

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

Option 2

Élevons chaque élément du tableau au carré à l'aide d'une fonction ordinaire que nous avons créée. Pour cela, nous passerons en paramètre comme callback une chaîne contenant le nom de cette fonction :

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

Option 3

Transformons notre fonction en une fonction anonyme, stockée dans une variable :

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

Option 4

Passons la fonction anonyme directement en paramètre :

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

Option 5

Utilisons une fonction fléchée :

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

Option 6

Supposons maintenant que la puissance à laquelle il faut élever le nombre soit définie par une variable externe au callback. Utilisons cette variable en y accédant via use :

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

Option 7

Réécrivons le code précédent en utilisant une fonction fléchée. Désormais, la variable $pow sera accessible automatiquement :

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($res); ?>

Tâches pratiques

Un tableau de chaînes de caractères est donné. Convertissez le texte de chaque élément du tableau en majuscules.

Un tableau de chaînes de caractères est donné. Inversez le texte de chaque élément du tableau de sorte que les caractères soient dans l'ordre inverse.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser