Saturday, June 5, 2010

PHP Sort Array of Objects pass Property and Sort Order

    class SortObjectArray

    {

        private $mPropertyToSortOn = "";

        private $mSortOrder = "";

        

        public function Sort($ObjectArray, $propertyToSortOn, $sortOrder)

        {

            $this->mPropertyToSortOn = $propertyToSortOn;

            $this->mSortOrder = $sortOrder;

            

            usort($ObjectArray, array("SortObjectArray","CompareObjects"));

            

            return $ObjectArray;

        }

        

        private function CompareObjects($firstObject, $secondObject)

        {

            $objectProperty = $this->mPropertyToSortOn;

            

            if ($firstObject->$objectProperty == $secondObject->$objectProperty) 

            {

                return 0;

            }

            

            if ($this->mSortOrder == "asc")

            {

                return ($firstObject->$objectProperty < $secondObject->$objectProperty) ? -1 : 1;

            }

            else

            {

                return ($firstObject->$objectProperty < $secondObject->$objectProperty) ? 1 : -1;

            }

        }

    }

Check This Out!

More Links to Good Information