Mapowanie tablicy z użyciem callbacków

Założenie: Mamy listę zamówień z datami w formacie YYYY-MM-DD i chcemy przekształcić je na format DD.MM.YYYY.

Krok po kroku:

  1. Deklaracja tablicy z datami:
  2. 
    $zamowienia = [
        ['id' => 1, 'data' => '2024-02-28'],
        ['id' => 2, 'data' => '2024-03-15'],
        ['id' => 3, 'data' => '2024-04-01']
    ];
    				

    Tworzymy tablicę asocjacyjną, gdzie każdy element reprezentuje zamówienie z ID i datą.

  3. Definicja funkcji callback:
  4. 
    function zmienFormatDate($zamowienie) {
        $data = DateTime::createFromFormat('Y-m-d', $zamowienie['data']);
        return [
            'id' => $zamowienie['id'],
            'data' => $data->format('d.m.Y')
        ];
    }
    				

    Funkcja `zmienFormatDate` przyjmuje element tablicy `$zamowienie` jako argument, tworzy obiekt `DateTime` z daty i zwraca zmodyfikowany element z nowym formatem daty.

  5. Użycie funkcji `array_map`:
  6. 
    $zamowieniaZmodyfikowane = array_map('zmienFormatDate', $zamowienia);
    print_r($zamowieniaZmodyfikowane);
    				

    Funkcja `array_map` stosuje funkcję `zmienFormatDate` do każdego elementu tablicy `$zamowienia` i zwraca nową tablicę z przekształconymi elementami.

Ten przykład pokazuje podstawowe zastosowanie funkcji callback z `array_map` do mapowania tablicy. Zachęcamy do dalszego zgłębiania tematu funkcji callback i innych funkcji tablicowych w PHP!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *