Something that would be extremely useful is a comparator interface in SPL, which could be used to easily implement sorting for objects.

Example:

class Foo implements Comparator
{
        // is numeric for this example
        public $bar;

        //implements compare method from Comparator interface
        public function compare($that)
        {
                //simple example; will return < 1 if this is less
                //than that; zero if they're equal; > 1 if this is
                //greater than that
                return $this->bar - $that->bar;
        }
}


Then, if I had an array of Foo objects, I could just call some kind of spl_sort function on the array which would use my comparator to sort them.

I realize this can be kludged with usort(), but I think there should be a better, OOP-ier way to do it.

I also realize that a similar effect could be achieved by defining an SPL PriorityQueue-ish collection rather than an array, but I think there ought to be a better way. Java has a Comparator interface which works in much the same way, if that helps my case at all.

Jeremy
                

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to