Sortowanie tablic z użyciem funkcji anonimowych
Założenie: Nauczyć się sortować tablice w PHP za pomocą funkcji anonimowych, aby dynamicznie definiować logikę sortowania. Jako przykład posłuży nam sortowanie listy plików po ich rozmiarze.
Krok po kroku:
- Tworzenie tablicy z danymi o plikach: Załóżmy, że mamy tablicę asocjacyjną, gdzie kluczem jest nazwa pliku, a wartością jego rozmiar w bajtach.
- Sortowanie tablicy za pomocą funkcji `usort()` i funkcji anonimowej: Funkcja `usort()` przyjmuje jako drugi argument funkcję porównującą, która określa kolejność sortowania. W tym przykładzie użyjemy funkcji anonimowej.
- Wyświetlenie posortowanej tablicy: Po zastosowaniu funkcji `usort()`, tablica `$files` jest już posortowana.
- Sortowanie malejąco: Aby sortować malejąco, wystarczy zmienić kolejność odjęcia w funkcji anonimowej.
$files = [
'plik1.txt' => 1024,
'plik2.jpg' => 2048,
'plik3.pdf' => 512,
'plik4.png' => 4096
];
usort($files, function ($a, $b) {
return $a - $b; // Sortowanie rosnąco po rozmiarze
});
print_r($files);
usort($files, function ($a, $b) {
return $b - $a; // Sortowanie malejąco po rozmiarze
});
print_r($files);
Ten przykład pokazuje, jak łatwo i elastycznie sortować tablice w PHP za pomocą funkcji anonimowych. Zachęcamy do eksperymentowania z różnymi funkcjami porównującymi, aby opanować tę technikę.