排序数组并根据某些值排列

I have an array like this

 [Defense] => Array
    (
        [0] => stdClass Object
            (
                [id] => 1
                [position] => G 
                [point] => 1.6

            )
        [1] => stdClass Object
            (
                [id] => 1
                [position] => F 
                [point] => 2.7
            )


        [2] => stdClass Object
            (
                [id] => 1
                [position] => C 
                [point] => 1.4
            )
        [3] => stdClass Object
            (
                [id] => 2
                [position] => C 
                [point] => 1.7
            )

        [4] => stdClass Object
            (
                [id] => 2
                [position] => D 
                [point] => 1.1
            )
        [5] => stdClass Object
            (
                [id] => 1
                [position] => F 
                [point] => 1.7
            ) 

        [6] => stdClass Object
            (
                [id] => 1
                [position] => G 
                [point] => 1.6

            )

        [7] => stdClass Object
            (
                [id] => 1
                [position] => G 
                [point] => 1.8

            )
       [8] => stdClass Object
        (
                [id] => 2
                [position] => D
                [point] => 1.5
        )   
  )

I want to sort the array on the basis of point descending in PHP. Also, all the position come in sequence (all G than all F so on..) like this:

  [Defense] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 1
                    [position] => G 
                    [point] => 1.8

                )
             [1] => stdClass Object
                (
                    [id] => 1
                    [position] => G 
                    [point] => 1.6

                )
            [2] => stdClass Object
                (
                    [id] => 1
                    [position] => G 
                    [point] => 1.6

                )   
            [3] => stdClass Object
                (
                    [id] => 1
                    [position] => F 
                    [point] => 2.7
                )
            [4] => stdClass Object
                (
                    [id] => 1
                    [position] => F 
                    [point] => 1.7
                )

            [5] => stdClass Object
                (
                    [id] => 1
                    [position] => C 
                    [point] => 1.7
                )
            [6] => stdClass Object
                (
                    [id] => 2
                    [position] => C 
                    [point] => 1.4 
                )
            [7] => stdClass Object
                (
                    [id] => 2
                    [position] => D
                    [point] => 1.5
                )
            [8] => stdClass Object
                (
                    [id] => 2
                    [position] => D 
                    [point] => 1.1
                )

      )

Any help?

use usort() function to sort the array as below

usort($array,function($a,$b){
if($a->position == $b->position )
    return $a->point < $b->point;
else
    return $a->position < $b->position;
});
var_dump($array);