array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_reduceIterative Reduktion eines Arrays zu einem Wert mittels einer Callbackfunktion

Beschreibung

array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed

array_reduce() wendet die Funktion callback iterativ auf die Elemente des Arrays array so an, dass das Array auf einen einzigen Wert reduziert wird.

Parameter-Liste

array

Das Eingabe-Array.

callback
callback ( mixed $carry , mixed $item ) : mixed
carry

Enthält den Rückgabewert des vorherigen Durchgangs. Im Fall des ersten Durchlaufs enthält dies stattdessen den Wert von initial.

item

Enthält den Wert des aktuellen Durchgangs.

initial

Ist der optionale Parameter intial angegeben, wird er am Anfang des Prozesses benutzt oder als Resultat verwendet, sollte das Array leer sein.

Rückgabewerte

Gibt den sich ergebenden Wert zurück.

Falls das Array leer ist und initial nicht angegeben wurde, so wird array_reduce() NULL zurückgeben.

Changelog

Version Beschreibung
5.3.0 Der von initial akzeptierte Datentyp wurde zu Mixed geändert, vorher war dies Integer.

Beispiele

Beispiel #1 array_reduce()-Beispiel

<?php
function summe($carry$item)
{
    
$carry += $item;
    return 
$carry;
}

function 
produkt($carry$item)
{
    
$carry *= $item;
    return 
$carry;
}

$a = array(12345);
$x = array();

var_dump(array_reduce($a"summe")); // int(15)
var_dump(array_reduce($a"produkt"10)); // int(1200), da: 10*1*2*3*4*5
var_dump(array_reduce($x"summe""Keine Daten für die Reduktion")); 
   
// string(29) "Keine Daten für die Reduktion"
?>

Siehe auch