O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4.19 Ein Array mithilfe einer Methode statt einer Funktion sortieren

Problem

Sie möchten eine benutzerdefinierte Sortierroutine zum Sortieren eines Arrays definieren, aber Sie wollen anstelle 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', ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required