Question: I tried to get the 2nd highest value from an array and I simply want to know if it is possible to do something like MAX -1 OR I absolutely need to sort by table and the 2nd highest value 

```
private function max_key($array) {
    foreach ($array as $key => $val) {
    if ($val == max($array))  return $key;
    }
    }

```

Answer: 
```
 $a = Array ( 1, 2, 40 , 100);
 echo max($a) - 1; // definitely not 40

```

So yes, you'd need to `rsort()` ([built-in PHP function, sorts the array with highest values first](http://php.net/manual/en/function.rsort.php)), and then take the 2nd value from the list.

Note that e.g. `array( 1 , 10 , 5 , 10 )` has second value == first value; if you want the second-largest unique value, run it through `array_unique()` first.
```
sort( $array, SORT_NUMERIC );
echo $array[ count( $array ) - 2 ];

```