2017-02-10 2 views
0

У меня этот массив index[0] был результатом, и я правильно его отсортировал. и я застрял в index[3], который является некоторыми важными данными. coz Я хочу, чтобы это от index[0] от высокого до низкого с соответствующим видом index[3] от низкого до высокого. как вы можете видеть array (0) дисплей сначала, но он содержит оценку 20 и index[3] из 404 вместо array (1) имел нижнее index[3]. пожалуйста, помогите спасибо.php array/многомерный вид

[0] => Array 
    (
     [0] => 20 
     [1] => Revelyn Nazar 
     [2] => PASSED 
     [3] => 404 
    ) 

[1] => Array 
    (
     [0] => 20 
     [1] => Mark Valle 
     [2] => PASSED 
     [3] => 351 
    ) 

[2] => Array 
    (
     [0] => 20 
     [1] => Marita Serrano 
     [2] => PASSED 
     [3] => 372 
    ) 

[3] => Array 
    (
     [0] => 20 
     [1] => Ma Lourdes Pulumbarit 
     [2] => PASSED 
     [3] => 482 
    ) 

[4] => Array 
    (
     [0] => 20 
     [1] => Diana Rose Reyes 
     [2] => PASSED 
     [3] => 584 
    ) 

[5] => Array 
    (
     [0] => 20 
     [1] => Andrea Reyes 
     [2] => PASSED 
     [3] => 398 
    ) 

[6] => Array 
    (
     [0] => 19 
     [1] => Willie Masiclat 
     [2] => PASSED 
     [3] => 455 
    ) 

[7] => Array 
    (
     [0] => 19 
     [1] => Rhaymond Emata 
     [2] => PASSED 
     [3] => 540 
    ) 

[8] => Array 
    (
     [0] => 19 
     [1] => Magnolia Grace Mallari 
     [2] => PASSED 
     [3] => 516 
    ) 

[9] => Array 
    (
     [0] => 19 
     [1] => Ma. Milania Castro 
     [2] => PASSED 
     [3] => 429 
    ) 

[10] => Array 
    (
     [0] => 19 
     [1] => Kris Gutierrez 
     [2] => PASSED 
     [3] => 459 
    ) 

[11] => Array 
    (
     [0] => 19 
     [1] => Karren Ann Cruz 
     [2] => PASSED 
     [3] => 410 
    ) 

[12] => Array 
    (
     [0] => 19 
     [1] => Iwee Boy Sarita 
     [2] => PASSED 
     [3] => 451 
    ) 

[13] => Array 
    (
     [0] => 19 
     [1] => Gretchen Concepcion 
     [2] => PASSED 
     [3] => 517 
    ) 

[14] => Array 
    (
     [0] => 19 
     [1] => Clarissa Aguinaldo 
     [2] => PASSED 
     [3] => 439 
    ) 

[15] => Array 
    (
     [0] => 19 
     [1] => Camille Jolo 
     [2] => PASSED 
     [3] => 347 
    ) 

[16] => Array 
    (
     [0] => 19 
     [1] => April Buenaventura 
     [2] => PASSED 
     [3] => 600 
    ) 

[17] => Array 
    (
     [0] => 19 
     [1] => Alyssa Rose Angelo 
     [2] => PASSED 
     [3] => 375 
    ) 

[18] => Array 
    (
     [0] => 18 
     [1] => Joel Valencia 
     [2] => PASSED 
     [3] => 415 
    ) 

[19] => Array 
    (
     [0] => 18 
     [1] => Errylyn Coronel 
     [2] => PASSED 
     [3] => 437 
    ) 

[20] => Array 
    (
     [0] => 18 
     [1] => Editha Joy Paras 
     [2] => PASSED 
     [3] => 339 
    ) 

[21] => Array 
    (
     [0] => 18 
     [1] => Diona Culala 
     [2] => PASSED 
     [3] => 601 
    ) 

[22] => Array 
    (
     [0] => 18 
     [1] => Abbygael Aguirre 
     [2] => PASSED 
     [3] => 479 
    ) 

)

+0

вы можете помочь мне лил»код co'z я действительно застрял здесь. Я правильно отсортировал счет, но когда я включил индекс [3], он застрял. сортировка массива с использованием двух индексов заставила меня слить. Благодарю. – top

+0

Ваш вопрос непонятен, пожалуйста, отлаживайте код и приложите сообщения об ошибках, если они есть. – Jadeye

+0

нет ошибок. все, что мне нужно, это сортировать по счету и индексу [3]. Благодарю. – top

ответ

1

Вы можете использовать uasort для сортировки более 1 ключей

uasort($your_arr, function($a,$b){ 
    $c = $a[0] - $b[0]; 
    $c .= $a[3] - $b[3]; 
    return $c; 
}); 

Результат от вашего массива

Array 
(

[15] => Array 
    (
     [0] => 19 
     [1] => Camille Jolo 
     [2] => PASSED 
     [3] => 347 
    ) 

[11] => Array 
    (
     [0] => 19 
     [1] => Karren Ann Cruz 
     [2] => PASSED 
     [3] => 410 
    ) 

[9] => Array 
    (
     [0] => 19 
     [1] => Ma. Milania Castro 
     [2] => PASSED 
     [3] => 429 
    ) 

[14] => Array 
    (
     [0] => 19 
     [1] => Clarissa Aguinaldo 
     [2] => PASSED 
     [3] => 439 
    ) 

[12] => Array 
    (
     [0] => 19 
     [1] => Iwee Boy Sarita 
     [2] => PASSED 
     [3] => 451 
    ) 

[6] => Array 
    (
     [0] => 19 
     [1] => Willie Masiclat 
     [2] => PASSED 
     [3] => 455 
    ) 

[10] => Array 
    (
     [0] => 19 
     [1] => Kris Gutierrez 
     [2] => PASSED 
     [3] => 459 
+1

У меня был хороший результат. но я хочу быть наивысшим балл с наименьшим индексом [3], который будет на первом массиве. Спасибо за вашу помощь. – top

+1

Я получил его сэр. большое спасибо. это действительно помогает мне. – top

+0

Приятно знать, что вы получили результат. Счастливое кодирование – Thamaraiselvam

0

Использование usort:

function my_sort($a,$b) 
{ 
if ($a[0]==$b[0]){ return $a[3] - $b[3] }; 

return $a[0]-$b[0]; 
} 

$a=/*your array*/; 
usort($a,"my_sort"); 

посмотреть здесь для получения дополнительной информации: http://www.w3schools.com/php/func_array_usort.asp

Смежные вопросы