나는이 비슷한 모양의 배열이 있습니다이동 배열 요소는 배열의 맨
Array
(
[0] => stdClass Object
(
[Leasing] => 12939.74
[Name] => Jeremy
[Rental] => 0
[Sales] => 56603.13
[Total] => 69542.87
)
[1] => stdClass Object
(
[Leasing] => 0
[Name] => Shaun
[Rental] => 0
[Sales] => 58590
[Total] => 58590
)
[2] => stdClass Object
(
[Leasing] => 0
[Name] => Lindsay
[Rental] => 0
[Sales] => 22951.97
[Total] => 22951.97
)
[3] => stdClass Object
(
[Leasing] => 0
[Name] => Sally
[Rental] => 1200
[Sales] => 21624.9
[Total] => 22824.9
)
[4] => stdClass Object
(
[Leasing] => 0
[Name] => House
[Rental] => 0
[Sales] => 16235.81
[Total] => 16235.81
)
[5] => stdClass Object
(
[Leasing] => 5298.85
[Name] => Bill
[Rental] => 1200
[Sales] => 0
[Total] => 6498.85
)
)
현재 배열이 총이를 사용하여 정렬됩니다 : 이제
usort($data, function ($a, $b) {
return $b->Total - $a->Total;
});
을 , 배열의 맨 위에 [Name] => House
인 사람을 항상 가질 수 있어야합니다. 내 생각은 내가 그것을 Total
에 의해 정렬 된 상태로 둘 수 있다는 것이고 (나는 여전히 그렇게 필요하기 때문에) 하우스 값으로 요소를 가져 와서 배열의 시작 부분에 놓는다. 나는 특정 키를 가져다가 맨 위에 놓을 수 있지만 키의 수가 가장 높은 키에 따라 키가 변경 될 수 있습니다. 배열의 맨 위에 항상 House
이라는 사람을 넣을 수 있습니까?
하나의 접근법 : 원하는 첫 번째 요소를 첫 번째 위치에 놓고 배열을 하나의 요소와 다른 모든 요소로 분할 한 다음 나머지 요소를 모두 정렬합니다. 죄송 합니다만, 나는 적절한 구문을 제공하기에 PHP 구문을 잘 기억하지 못합니다. – GreenMatt
정렬 함수의 반환 값은 usort에 의해 정수로 캐스팅되므로 0.05와 0.95가 동일하게 표시됩니다. – Sammitch