2012-12-04 6 views
-1

에서 나는 숫자 정렬 할 필요가 배열의 그룹이 있습니다 예 : 정렬 배열 수치 PHP

$a= array('Adam','maths',3,'physics',5,'sports',6) 
    $b= array('Mike','maths',6,'physics',2,'sports',8) 
    $c= array('Sam','maths',3,'physics',9,'sports',6) 
    $all = array($a,$b,$c) 

지금 난 단지 숫자를 고려하여 $ 모든 정렬 할 필요가 있습니다. 함수 정렬에 대한 대안이 있습니까? 들으

+3

무엇 것 결과보기 같은 ...? – deceze

+0

정상적으로 결과는 $ result = array ($ b, $ c, $ a) – ader277

+0

@ ader277 예상 결과가 여전히 명확하지 않습니다. – Baba

답변

0

시작 :

$array = array(
    'Adam' => array('maths' => 3, 'physics' => 5, 'sports' => 6), 
    'Mike' => array('maths' => 6, 'physics' => 2, 'sports' => 8), 
    'Sam' => array('maths' => 3, 'physics' => 9, 'sports' => 6) 
); 

그런 다음, 간단한 사용자 정의 정렬을 수행합니다

usort($array, function ($a, $b) { 
    if ($a['maths'] != $b['maths']) { 
     return $a['maths'] - $b['maths']; 
    } 
    if ($a['physics'] != $b['physics']) { 
     return $a['physics'] - $b['physics']; 
    } 
    return $a['sports'] - $b['sports']; 
}); 
+0

thx이지만 입력이 내 것이 아니고 제 함수의 출력이 같은 형식을 존중해야하기 때문에 저에게 도움이되지 못합니다. – ader277

+0

그럼, 당신은 당신의 필요에 위의 기능을 적응할 수 있어야합니다. '$ a [ 'maths']'대신에 3 번째, 5 번째, 7 번째 등의 배열 색인을 비교하십시오. – deceze

1

예, SORT_NUMERIC

으로, sort 기능을 사용하여 여기에 demo입니다. 제정신 배열 구조

+0

죄송합니다. 제 질문을 좋은쪽으로 공식화하지 않았습니다. 방금 편집하여 방금 의미 한 것을 이해할 수 있습니다. – ader277

+0

'$ all'에 숫자 만 포함 하시겠습니까? –

+0

아니, 내가 $ all = array ($ b, $ c, $ a)가되기를 바란다 – ader277