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);