schildi: uksort innerhalb von klassen verwenden

hallo,

ich habe bisher uksort erfolgreich innerhalb einer klasse verwenden können. seit update auf die aktuelle stable-version (4.3.9) bekomme ich in diesem fall eine fehlermeldung.

so machte ich das bisher:

class [...]
{
 [...]

function [...]
{
[...]
uksort($this->menu[$n_path], '$this->sort_n');
}

function sort_n($a,$b)
{ //wortlänge
 if(strlen($a) == strlen($b)) return 0;
 return (strlen($a) > strlen($b)) ? 1 : -1;
}

[...]
}

Seit der neuen php-version bekomme ich die meldung:

uksort(): Invalid comparison function

Weiss jemand, wie ich uksort in meiner Klasse trotzdem weiterhin verwenden kann? Oder wurde das ganz unterbunden?

  1. dank guter hilfe in der mailing-list auf http://lists.phpbar.de problem behoben, zwar etwas unschön - aber es funktioniert:

    class sortierung
    {
    var $a = array (4 => "vier",
                     3 => "drei",
                     20 => "zwanzig",
                     10 => "zehn");

    function do_the_do_it()
     {
      $a = $this->do_it();
      return $a;
     }

    function do_it ()
     {

    if(!function_exists("cmp"))
       {
          function cmp ($a, $b)
      {
              if ($a == $b) return 0;
              return ($a > $b) ? -1 : 1;
           }
     }
         uksort ($this->a, "cmp");
         return $this->a;
     }
    }