184 of 410 menu

Funkcja array_reduce

Funkcja array_reduce redukuje tablicę do pojedynczej wartości za pomocą funkcji zwrotnej.

W pierwszym parametrze funkcja przyjmuje tablicę, w drugim - funkcję zwrotną, która będzie kolejno stosowana do każdego elementu tablicy.

W trzecim opcjonalnym parametrze znajduje się wartość początkowa, od której zacznie się redukcja tablicy. Domyślnie parametr ten ma wartość null.

Funkcja zwrotna otrzymuje jako parametry dwie wartości. Pierwsza wartość zawiera wartość wynikową z poprzedniej iteracji. W przypadku pierwszej iteracji zawiera wartość trzeciego parametru.

A druga wartość funkcji zwrotnej zawiera bieżący element tablicy.

Funkcja zwrotna będzie kolejno stosowana do każdego elementu tablicy. To, co zwróci w bieżącej iteracji funkcja zwrotna, trafi do pierwszego parametru funkcji zwrotnej w następnej iteracji.

W ten sposób funkcja zwrotna sekwencyjnie zostanie zastosowana do każdego elementu tablicy kolejno i ostatecznie powstanie jakaś wartość. Ta wartość będzie wynikiem działania funkcji array_reduce.

Składnia

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

Przykład

Znajdźmy sumę elementów tablicy:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

Wynik wykonania kodu:

15

Zobacz też

  • funkcję array_map,
    która stosuje funkcję do elementów tablicy
  • funkcję array_walk,
    która wywołuje funkcję dla elementów tablicy
  • funkcję array_filter,
    która filtruje tablicę
  • funkcję array_walk_recursive,
    któta rekurencyjnie wywołuje funkcję dla elementów tablicy
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć