phpbar.de logo

Mailinglisten-Archive

[php] Methode als usort-Parameter?

[php] Methode als usort-Parameter?

Thomas Beckmann php_(at)_phpcenter.de
Mon, 03 Sep 2001 08:13:21 +0200


Guten Morgen!
Wenn ich eine in einer Klasse definierte Funktion als usort-Parameter
verwenden will, gibt's zwar keinen Fehler, es funktioniert aber auch
nicht:

-- snip

class feld
{
	var $feld;
	function feld() { $this->feld =3D array(1,2,3,3,4,6,1,7,8,4,7,2); }
	function feldcmp($a,$b) { return $a<$b ? -1 : ($a>$b ? 1 : 0); }
	function sort() { usort($this->feld, 'this->feldcmp'); }
	function out() { foreach($this->feld as $a) echo $a."<BR>\n"; }
}

$feld =3D new feld;
$feld->sort();
$feld->out();

-- snap

liefert das feld in der Definitionsreihenfolge. Wird feldcmp au=DFerhalb
der class definiert und mit usort($this->feld, 'feldcmp');
angesprochen, geht's wie zu erwarten.

Wei=DF jemand, wie man auch Methoden dort angeben kann?
BTW: usort($this->feld, 'feld->feldcmp'); geht auch nicht ...


---
Thomas Beckmann, Kiel, Germany
beckmann_(at)_gis.de


php::bar PHP Wiki   -   Listenarchive