Nina: usort: invalide Funktion?!

Hi,

warum ist meine Vergeleichsfunktion neuerdings invalide laut usort?

function cmp($a,$b)
 {
  if(doubleval($a['price'])==doubleval($b['price'])) return 0;
  return (doubleval($a['price'])<doubleval($b['price']))? -1:1;
 }

Bei dem input für usort handelt es sich um einen Array der Art:
$Data[$i]['price']=$intPrice;
...

Hoffe, Ihr findet den Fehlerteufel.

Danke schonmal

  1. Moin!

    warum ist meine Vergeleichsfunktion neuerdings invalide laut usort?

    Wie lautet die originale Fehlermeldung? Wie lautet dein originaler Programmcode an der Stelle?

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. hi,
      so ruf ich es auf:
      usort($Data,"cmp");

      und als Fehlermeldung bekomm ich nur:
      Warning: usort() [function.usort]: Invalid comparison function. in /srv/htdocs/test/sortscript.inc.php on line 114

      Siehst Du einen Fehler in der Funktion?

      1. Moin!

        so ruf ich es auf:
        usort($Data,"cmp");

        und als Fehlermeldung bekomm ich nur:
        Warning: usort() [function.usort]: Invalid comparison function. in /srv/htdocs/test/sortscript.inc.php on line 114

        Siehst Du einen Fehler in der Funktion?

        Wie unser Archiv sagt, tritt der von dir beobachtete Fehler nur auf, wenn die Vergleichsfunktion zum Zeitpunkt des Aufrufs nicht existiert.

        Das solltest du unbedingt mal prüfen. Füge vor deinem usort() ein:

        echo function_exists("cmp");

        Wenn das false ergibt, hast du den Beweis, und mußt "nur noch" für die passende Einbindung der Funktion sorgen.

        Wenn nicht - dann ist irgendwas so falsch, dass mir spontan nichts einfällt.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hallo Sven.

          Füge vor deinem usort() ein:

          echo function_exists("cmp");

          Wenn das false ergibt, …

          … sieht man nichts. (OK, die Abwesenheit einer „1“.) Deshalb besser so:

          var_dump(function_exists("cmp"));

          Einen schönen Dienstag noch.

          Gruß, Mathias

          --
          ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
          debian/rules
        2. Danke, daran lag es. Hab die Funktion erst danach includet.