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.