从两个数组PHP获取GET Max数组

时间:2014-03-07 11:15:44

标签: php arrays

我想要哪个是以下数组中最大的数组。

 [13] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 9
        )

[15] => Array
    (
        [0] => 1
        [1] => 5
        [2] => 8
    )

[33] => Array
    (
        [0] => 1
        [1] => 9
        [2] => 13
    )

我想要一个能用键33返回最后一个数组的代码。 请帮助。

3 个答案:

答案 0 :(得分:1)

使用max从数组的键中获取最大值

$yourarray=array(13 => Array
(
    0 => 1,
            1 => 3,
            2 => 9,
        ),

15 => Array
(
    0 => 1,
        1 => 5,
        2 => 8,
    ),

33 => Array
(
    0 => 1,
        1 => 9,
        2 => 13,
    ));
$arr=max(array_keys($yourarray));
print_r($yourarray[$arr]);

输出:

Array
(
    [0] => 1
    [1] => 9
    [2] => 13
)

答案 1 :(得分:0)

这应该可以解决问题......

<?php

$tests = array(
    13 => array(1,3,9),
    15 => array(1,5,8),
    33 => array(1,9,13)
);

$array_totals = array_map('array_sum', $tests);
krsort($array_totals);
$maxArray = each($array_totals);

var_dump($maxArray);

给出

array (size=4)
  1 => int 23
  'value' => int 23
  0 => int 33
  'key' => int 33

答案 2 :(得分:0)

不是最美丽的东西,但可读;)

$tests = array(
    13 => array(1,3,9),
    15 => array(1,5,8),
    33 => array(1,9,13)
);

$max = -1;
$max_key = -1;
foreach ($tests as $k => $v) {
    $cur_max = max($v);
    if ($cur_max >= $max) {
        $max = $cur_max;
        $max_key = $k;
    }
}

echo "max: $max; max_key: $max_key";

给出:

max: 13; max_key: 33

为了让它更漂亮:使用array_map并排序。