max () на многомерном массиве - PullRequest
0 голосов
/ 31 января 2012

У меня есть массив входных данных, и мне нужно найти максимальное и минимальное значения.Массив POST может выглядеть следующим образом, в зависимости от параметров, выбранных пользователем:

[a] => Array
(
    [0] => 2
)

[a] => Array
    (
        [0] => 2
        [1] => 4
        [2] => 7
    )
[a] => Array
    (
        [0] => 2
        [1] => 4
        [2] => Array
            (
                [0] => 7
            )

    )

Я работал с помощью сортировки массива и получения минимальных и максимальных значений, когда «а» всегда былоодномерный массив, но так как мы добавили опцию, чтобы он был многомерным, я застрял.

1 Ответ

2 голосов
/ 31 января 2012

Я бы использовал итератор: http://php.net/spl.iterators.php

function array_max($arr) {
  $max = null;

  foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($arr)) as $value) {
    if ($max === null || $value > $max) {
      $max = $value;
    }
  }
  return $max;
}

Я думаю, вы можете понять, как сделать array_min() самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...