4.19 Ein Array mit Hilfe einer Methode statt einer Funktion sortieren
Problem
Sie möchten eine benutzerdefinierte Sortierroutine zum Sortieren eines Arrays definieren, aber Sie wollen an Stelle einer Funktion eine Objekt-Methode verwenden.
Lösung
Übergeben Sie statt des Funktionsnamens ein Array, das einen Klassennamen und eine Methode enthält:
usort($access_times, array('dates', 'compare'));
Diskussion
Wie die benutzerdefinierte Sortierfunktion muss auch die Objekt-Methode zwei Eingabeargumente übernehmen und 1, 0 oder −1 zurückgeben, je nachdem, ob der erste Parameter größer, gleich oder kleiner als der zweite ist:
class pc_sort { // Stringvergleich in umgekehrter Reihenfolge function strrcmp($a, $b) { return strcmp($b, $a); } } usort($words, array('pc_sort', ...
Get PHP 5 Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.