Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
 
 
 

Callback-Funktion auf ein Array anwenden

Sie befinden sich: Home > Php Tutorial > Callback-Funktion auf ein A...

Callback-Funktion auf ein Array anwenden


Eintrag am:  08.12.2022
Hits / Besucher:  660
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   martin12398 martin12398
 
Beschreibung

PHP array_map() ist eine Funktion, die es ermöglicht, eine bestimmte Funktion auf jedes Element eines Arrays anzuwenden. Mithilfe der array_map()-Funktion lassen sich mehrere Arrays ineinander überführen.

Syntax:

array_map ( callback $callback , array $array1 [, array $... ] ) : array

Parameter-Liste: 

  • callback (erforderlich): Der Name der Funktion oder das Callback-Array, welches verwendet wird, um die Elemente des Arrays zu bearbeiten.
  • Array1 (erforderlich): Das Array, auf das die Callback-Funktion angewendet werden soll. Sie können mehrere Arrays angeben und diese als Parameter übergeben. Die Anzahl der Parameter muss gleich sein mit der Anzahl der übergebene Array. 

Rückgabewerte:

Gibt ein Array zurück, dessen Werte vom Rückgabewert des Callbacks bestimmt werden. Wenn kein Array angegeben wurde, gibt die Funktion NULL zurück und bei fehlgeschlagener Ausführung FALSE. 

 

Beispielcode für Verwendung von mehrerer Arrays: 

<?php 

/**
* Erstes Array mit 3 Elementen

*/

$array1 = [1, 2 , 3];

/**
* Zweites Array mit 3 Elementen

*/
$array2 = [4 , 5 , 6];

$result= array_map(function($n){

/**
* Callback Funktionsübergabe ist „n“ hier definiert und hat den Parameter
* „n“ – das heißt jedes Mal, wenn diese Funktion aufgerufen wird,
* bekommt sie als Input 1 Wert von dem jeweiligen Array welche
* an diesem Index steht ($n). In unserem Fall kann es entweder
* 1, 2 oder 3 sein. Dieses Ergebnis soll in dem neuen result Array
* gespeichert werden.
*/

/**
* multipliziere jeden Wert mal 10 und speichere es im Result-Array ab
*/
return ($n * 10);
}, $array1, $array2 );

/**
* Übergabe von beiden Arrays an die Funktion und Speicherung im Result-Array ab.
*/

print_r($result);
?>

Ausgabe des Result-Arrays:

[10 20 30 40 50 60]

Dieser PHP-Code erstellt zwei Arrays mit jeweils drei Elementen und speichert diese in den Variablen $array1 und $array2. Anschließend wird eine selbst definierte Callback-Funktion definiert, welche jeden Wert der beiden Arrays mit 10 multipliziert und das Ergebnis in einem neuen Array namens $result speichert. Am Ende wird dieses Ergebnis mit print_r() angezeigt.

 

Beispiel für die Verwendung von PHP-array_map() mit einem Array von Objekten: 

<?php


/**
* Dies ist ein Array von Objekten
*/
$arr =[ new Person('John', 'Smith'), new Person('Mary', 'Jones') ];

/**
* Aufruf der Funktion getName und Übergabe von $arr
*/
$namesArr=array_map('getName', $arr);

echo "<pre>";
var_dump($namesArr);

echo "</pre>" ;

?>

Dieses Beispiel gibt die folgende Ausgabe: 

array (size=2){[0] => string (8)"John Smith", [1] => string (9)"Mary Jones"} 

In diesem Beispiel haben wir ein Array mit Objekten erstellt und anschließend mithilfe der Funktion array_map() aufgerufen. Mit dieser Funktion können wir einen Callback auf jedes Element des Arrays anwenden und so das Ergebnis manipulieren. In unserem Fall haben wir die Funktion ‘getName’ als Callback übergeben, welche jedes Element des Arrays verarbeitet hat. Anschließend hat uns die Funktion ein neues Array zurückgegeben, bestehend aus den Namen der Personen im Original-Array. Dies wird danach mit var_dump() ausgeben.

Häufige Fragen zu array_map()
  • Was ist die Funktion von array_map() in PHP?
    • Dies ist eine Funktion in PHP, die es ermöglicht, eine angegebene Funktion auf jedes Element eines Arrays anzuwenden.

  • Wie wird array_map() verwendet?
    • array_map() wird verwendet, um auf alle Elemente eines Arrays mittels der übergebenen Callback-Funktion zu iterieren und das Ergebnis als neues Array zurückzugeben.

  • Welche Rückgabewerte liefert array_map()?
    • array_map() gibt ein neues Array mit den Ergebnissen der angewandten Callback-Funktion zurück.

  • Wie viele Parameter erwartet array_map()?
    • Diese erwartet mindestens zwei Parameter; die anzuwendende Callback-Funktion und das Quellarray selbst.

  • Was passiert, wenn man mehr als zwei Parameter übergibt?
    • Werden mehr als zwei Parameter übermittelt, werden diese sequenziell an jedes Element des Arrays übermittelt und gleichzeitig angewandt, bis alle Elemente bearbeitet sind. 

  • Kann man mit array_map () Objekte bearbeiten?
    • Ja, Objekte können mit array_map () bearbeitet werden – allerdings nicht direkt; Sie müssen vorher in Strings oder andere geeignete Datentypen umgewandelt werden.

  • Gibt es Alternativen für die Verarbeitung von Arrays in PHP?
  • Kann man bei der Verarbeitung von objektorientiertem Code mithilfe von array_map() Erfolg haben?
    • Nein, da objektorientierter Code nicht direkt unterstützt wird, muss man ihn vorher in Strings oder andere geeignete Datentypen, umformulieren, bevor man ihn mithilfe von array_map() verarbeiten kann.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.