2010-03-22 4 views
1

J'essaie d'exécuter un usort sur un tableau à l'intérieur d'une instance d'une classe. Mais le tri dépend des propriétés de cette instance.Tri de groupes personnalisés basé sur les propriétés d'instance

code (ce qui ne fonctionne pas):

class foo { 
    private $array; 
    private $key; 
    private $dir; 

    function sort() { 
    usort($this->array, array("foo", "orderArray")); 
    } 

    function orderArray($a, $b) { 
    return strcmp($a[$this->key], $b[$this->key]) * $this->dir; 
    } 
} 

de la classe orderArray, vous ne pouvez pas accéder $ clé ou $ dir. La question est, comment puis-je écrire ceci afin que je puisse?

Répondre

4

Il semble que vous vouliez simplement voir l'instance en cours? Passez le dans le rappel.

function sort() { 
    usort($this->array, array($this, "orderArray")); 
    } 
+0

** facepalm ** Merci. –

Questions connexes