2014-04-15 3 views
1

나는 다차원 배열로 작업하고 있습니다. 각 배열은 거리의 속성으로 구성되며 값 중 하나는 거리 주소입니다. 모든 홀수 번째 주소가 짝수 번째 주소 앞에 오도록 배열을 정렬하고 싶습니다. 그것은 이미 숫자로 정렬되어 있습니다 (가장 낮은 것에서 가장 높은 것까지). 그래서 내가 알아 내려고하는 유일한 것은 확률 이전에 확률을 정렬하는 것입니다.값으로 다차원 배열을 주문하십시오 (확율 다음에 균등)

Array 
(
    [0] => Array 
     (
      [apn] => 345345345 
      [sqft] => 1200 
      [address] => 323 Pacific Ave. 
     ) 

    [1] => Array 
     (
      [apn] => 345345342 
      [sqft] => 1421 
      [address] => 324 Pacific Ave. 
     ) 

    [2] => Array 
     (
      [apn] => 345345346 
      [sqft] => 1001 
      [address] => 325 Pacific Ave. 
     ) 

) 
+1

당신이 당신의 결과가 있어야한다 좋아 우리를 제안하세요? –

답변

1

사용 usort() 및 사용자 정의 정렬 함수를 정의

usort($array, function($a, $b) 
{ 
    if ($a['apn'] % 2 == $b['apn'] % 2) { 
     if ($a['apn'] == $b['apn']) { 
      return 0; 
     } 
     return ($a['apn'] < $b['apn']) ? -1 : 1; 
    } 

    return ($a['apn'] % 2 == 0) ? 1 : -1; 
}); 

Demo

관련 문제