php数组中每个键值的最大值

I want to find out the maximum value of the each key in the array

$arr1= array(
    0=>array(1,2,3),
    1=>array(2,4,6),
    2=>array(25,4,5));
}

I want to find the maximum value for each value for the corresponding key The final output shuld be

$max_array = array(25,4,6);

with the below code i get error max(): When only one parameter is given, it must be an array in

foreach ($res_arr as $k=>$subArray) {
    foreach ($subArray as $id=>$value) {
        $spanmaxArray[$id] = max($value);
    }
}

First, rotate array to makes columns as lines

$arr1= array(
    0=>array(1,2,3),
    1=>array(2,4,6),
    2=>array(25,4,5)
);

$arr2 = array();

foreach($arr1 as $subArray) {
    foreach($subArray as $k=>$v) {
        $arr2[$k][] = $v;
    }
}

Then, use array_map as @HamZa did

$max_array  = array_map('max', $arr2);
print_r($max_array);
foreach ($res_arr as $k=>$subArray){
        $max = 0;
        foreach ($subArray as $id=>$value){
            if ($value>$max){
                $max = $value;
            }
        }
        $spanmaxArray[$k] = $max;
}

Try this.

Definitely the shortest version:

$max_array = array_map('max', $arr1);

array_map() takes each element array of $arr1 and applies max() to it.

Edited after seeing that max in each column position is desired:

$sorted = array();
for ($i = 0; $i <=2; $i++) { 
    $sorted[$i] = array_column($input, $i);
}

This loops over the array and applies array_column() to each (requires PHP 5.5).

So:

$sorted = array();
for ($i = 0; $i <=2; $i++) { 
    $sorted[$i] = array_column($arr1, $i);
}
$max_array = array_map('max', $sorted);

working version

You only need one loop, because the max function takes an array as a parameter. But the answer you are giving is wrong, unless I've misunderstood the problem.

I think what you're after is:

$max_array = array_map('max', $arr1);