php-resource

PHP Handbuch

array_map

array_map

(PHP 4 >= 4.0.6, PHP 5)

array_map -- Wendet eine Callback-Funktion auf die Elemente von Arrays an

Beschreibung

array array_map ( callback callback, array arr1 [, array ...] )

array_map() gibt ein Array mit allen Elementen von arr1 zurück, nachdem die Callback-Funktion callback auf jedes einzelne Element angewandt wurde. Die Anzahl Parameter, welche die Callback-Funktion callback akzeptiert, sollte der Anzahl der an array_map() übergebenen Arrays entsprechen.

Beispiel 1. array_map()

<?php
function cube($n)
{
    return(
$n*$n*$n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>

Dies speichert in $b:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Beispiel 2. array_map() - Verwendung mehrerer Arrays

<?php
function show_Spanish($n, $m)
{
    return(
"Die Zahl $n heißt auf Spanisch  $m");
}

function
map_Spanish($n, $m)
{
    return(array(
$n => $m));
}

$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");

$c = array_map("show_Spanish", $a, $b);
print_r($c);

$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

// Ausgabe von $c
Array
(
    [0] => Die Zahl 1 heißt auf Spanisch  uno
    [1] => Die Zahl 2 heißt auf Spanisch  dos
    [2] => Die Zahl 3 heißt auf Spanisch  tres
    [3] => Die Zahl 4 heißt auf Spanisch  cuatro
    [4] => Die Zahl 5 heißt auf Spanisch  cinco
)

// Ausgabe von $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

Bei Verwendung von zwei oder mehr Arrays sollten diese gewöhnlich die gleiche Länge besitzen, da die Callback-Funktion parallel auf die entsprechenden Elemente angewandt wird. Haben die Arrays unterschiedliche Längen, wird das kürzeste um leere Elemente erweitert.

Eine interessante Anwendung dieser Funktion ist die Konstruktion eines Arrays bestehend aus Arrays, was mit NULL als Name der Callback-Funktion leicht realisiert werden kann.

Beispiel 3. Erstellen eines Arrays mit Arrays

<?php
$a
= array(1, 2, 3, 4, 5);
$b = array("eins", "zwei", "drei", "vier", "fünf");
$c = array("uno", "dos", "tres", "cuatro", "cinco");

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => eins
            [2] => uno
        )

    [1] => Array
        (
            [0] => 2
            [1] => zwei
            [2] => dos
        )

    [2] => Array
        (
            [0] => 3
            [1] => drei
            [2] => tres
        )

    [3] => Array
        (
            [0] => 4
            [1] => vier
            [2] => cuatro
        )

    [4] => Array
        (
            [0] => 5
            [1] => fünf
            [2] => cinco
        )

)

Siehe auch array_filter(), array_reduce(), array_walk(), create_function() und Informationen über den Callback-Typ.



Anmerkungen zum PHP Handbuch
Neue Anmerkung schreiben
 



 

Neuzugänge PHP MySQL Tutorials

Joomla! Starterhilfe

Dieses Tutorial begleitet Sie bei dem Einstieg in die Welt von dem CMS Joomla!.

17.01.2012 werninator | Kategorie: MySQL
Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen.

07.12.2010 phpsven | Kategorie: PHP
Tutorials zu Facebook Anwendungen mit PHP

In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit.

06.12.2010 abouttheweb | Kategorie: PHP