⊗ppSpFnIFC 12 of 83 menu

Callbacks in integrierten Funktionen in PHP

In PHP gibt es eine Reihe integrierter Funktionen, die Callbacks als Parameter entgegennehmen. Das allgemeine Prinzip der Arbeit mit ihnen werden wir am Beispiel der Funktion array_map lernen. Diese Funktion nimmt als ersten Parameter einen Callback entgegen und als zweiten - ein Array. Die Funktion wendet den Callback auf jedes Element des Arrays an und gibt das geänderte Array zurück.

Lassen Sie uns die Verwendungsmöglichkeiten dieser Funktion unter Berücksichtigung unserer bisherigen Kenntnisse betrachten.

Variante 1

Extrahieren wir aus jedem Element des Arrays die Quadratwurzel mit der integrierten Funktion sqrt. Dazu übergeben wir als Callback-Parameter einen String mit dem Namen dieser Funktion:

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

Variante 2

Potenziere jedes Element des Arrays quadratisch mit einer von uns erstellten gewöhnlichen Funktion. Dazu übergeben wir als Callback-Parameter einen String mit dem Namen dieser Funktion:

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

Variante 3

Ändern wir unsere Funktion in eine anonyme Funktion um, die in einer Variable gespeichert ist:

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

Variante 4

Übergeben wir die anonyme Funktion als Parameter:

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

Variante 5

Verwenden wir eine Pfeilfunktion:

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

Variante 6

Lass nun der Exponent, in den die Zahl potenziert werden soll, durch eine externe Variable des Callbacks vorgegeben sein. Nutzen wir diese Variable, indem wir über use darauf zugreifen:

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

Variante 7

Schreiben wir den vorherigen Code mit einer Pfeilfunktion um. Nun ist die Variable $pow automatisch verfügbar:

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

Praktische Aufgaben

Gegeben ist ein Array mit Strings. Setze den Text jedes Elements des Arrays in Großbuchstaben um.

Gegeben ist ein Array mit Strings. Drehe den Text jedes Elements des Arrays so um, dass die Zeichen in umgekehrter Reihenfolge erscheinen.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen