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:
- Deklaracja tablicy z datami:
- Definicja funkcji callback:
- Użycie funkcji `array_map`:
$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ą.
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.
$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!