Mailinglisten-Archive |
Also wenn ich eine funktion in die klassenmethode packe, bekomme ich den fehler: Cannot redeclare sort_n() (previously declared in file.php:352) in file.php on line 352 Habe das so mal probiert: Zeile 352 ist hier an der stelle wo "function sort_n" steht. class{ [...] function() { [...] 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"); } } -----Ursprüngliche Nachricht----- Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag von Peter Bieling Gesendet: Samstag, 1. Januar 2005 18:19 An: deutschsprachige PHP-Mailingliste Betreff: Re: [php] uksort innerhalb von klassen Peter Bieling wrote: > Es gibt wohl neuerdings keine Möglichkeit, uksort mitzuteilen, dass sich > die Callbackfunktion innerhalb der Klasse befindet. Dir bleibt dann wohl > nichts übrig, als die Funktion für die Klasse nachzubauen oder die > Sortierung außerhalb der Klasse vorzunehmen. War etwas voreilig. So geht es doch. (Abgewandeltes Beispiel aus dem Manual.) Pack einfach die Callbackfunktion in die Methode und fertig. <?php class sortierung { var $a = array (4 => "vier", 3 => "drei", 20 => "zwanzig", 10 => "zehn"); function do_it () { function cmp ($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } uksort ($this->a, "cmp"); //uksort ($this->a, "cmp"); return $this->a; } } $mysort= new sortierung; $a=$mysort->do_it(); print_r($a); ?> -- ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** Informationen: http://www.phpbar.de http://lists.phpbar.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive