phpbar.de logo

Mailinglisten-Archive

AW: [php] uksort innerhalb von klassen

AW: [php] uksort innerhalb von klassen

Peter Bieling network at media-palette.de
Sam Jan 1 21:00:24 CET 2005


Hallo,

LB wrote:

[Fullqote entsorgt, siehe auch: http://learn.to/quote ]

> Aber so geht es:
> 
> if(!function_exists(sort_n))
> 		{
> 			function sort_n($a,$b)
> 			{//wortlänge
> 				if(strlen($a) == strlen($b)) return 0;
> 				return (strlen($a) > strlen($b)) ? 1 : -1;
> 			}
> 		}
> 
> uksort($this->menu[$n_path], "sort_n");
> 
> :). Problem ist, dass das Objekt weiterexistiert, und die funktion schon im
> Objekt deklariert wurde, ein zweiter Deklarationversuch wirft einen Fehler.

Stimmt leider auch, wenn man das Objekt zerstört und neu aufbaut. Böse!
Aber schön ist die Lösung ohnehin nicht.

> -> Gibt ohne die function_exists Abfrage genau denselben Fehler, wie ich
> bekam.

Als Notlösung kannst Du die Callbackfunktion auch außerhalb von class 
definieren. Das habe ich getestet.

Schick das Problem doch einfach mal an die PHP-Entwickler. (Du solltest 
dann aber Deinen Namen preisgeben. ;-)) Vielleicht kann von denen jemand 
erklären, wie das gedacht ist. Für mich sieht das aber aus wie ein Bug. 
Das ganze Web ist übersät von dieser Fehlermeldung. PHP entwickelt sich 
einfach zu schnell. :-(

Wer baut denn mal schnell die uksort-Funktion als klassenfähige Funktion 
nach? ;-)

Viele Grüße

Peter

php::bar PHP Wiki   -   Listenarchive