retrieving more than one max key from an array?

Posted on 16th Feb 2014 by admin

so i have an array of 20 numerical values (0-100) that i need to order from highest to lowest and then i need to retrieve the keys of the top ten values.

$array1 = array($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,$a13,$a14,$a15,$a16,$a17,$a18,$a19,$a20);

arsort($array1);
<? print_r($array1);?>

which yields
Array ( [4] => 74 [12] => 70 [19] => 70 => 66 [3] => 66 [10] => 63 [2] => 62 [8] => 57 [11] => 57 [15] => 50 [14] => 50 [9] => 50 [1] => 50 [5] => 50 [17] => 30 [7] => 30 [18] => 30 [13] => 23 [16] => 23 [6] => 23 )

i figured how to return the key of the highest value

function max_extract($array1) {

return array_keys($array1, max($array1));
}

$max_key= max($array1);

but i can't figure out how to get the remainder of the top ten keys (i.e. 19,0,3,10,2,8,11,15,14).

any ideas?

Other forums