Sortowanie tablic z użyciem własnych funkcji porównujących
Założenie: Nauczyć się sortować tablice w PHP za pomocą własnych funkcji porównujących, aby móc sortować dane według złożonych kryteriów, takich jak data i czas.
Krok po kroku:
- Definicja tablicy rekordów: Utworzymy tablicę asocjacyjną, gdzie każdy element reprezentuje rekord z datą i czasem.
- Funkcja porównująca: Zdefiniujemy funkcję, która będzie porównywała dwa rekordy na podstawie pola ‘date’. Funkcja ta będzie użyta przez funkcję `usort`.
- Sortowanie tablicy: Użyjemy funkcji `usort` do posortowania tablicy `$records` za pomocą zdefiniowanej funkcji `compareRecords`.
- Wyświetlenie posortowanej tablicy: Wyświetlimy posortowaną tablicę, aby zobaczyć efekt.
$records = [
['id' => 1, 'date' => '2023-10-26 10:00:00'],
['id' => 2, 'date' => '2023-10-27 12:30:00'],
['id' => 3, 'date' => '2023-10-25 08:15:00'],
];
function compareRecords($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
}
usort($records, 'compareRecords');
print_r($records);
Ten przykład pokazuje, jak używać własnych funkcji porównujących do sortowania tablic w PHP. Funkcja `strtotime` konwertuje datę i czas na znacznik czasu, co pozwala na łatwe porównanie.
Zachęcamy do eksperymentowania z różnymi funkcjami porównującymi i sortowania tablic o bardziej złożonej strukturze.