2010-09-25 6 views
1

У меня есть массив, который выглядит следующим образом:Как найти максимальные значения в многомерном массиве?

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [product] => 2003 
        [date] => 2010-09-15 13:27:35 
        [status] => 3 
       ) 

      [1] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 1 
       ) 

      [2] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 6 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [product] => 2003 
        [date] => 2010-09-12 13:27:35 
        [status] => 1 
       ) 

      [1] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 4 
       ) 

      [2] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 1 
       ) 

     ) 

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

      [1] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 1 
       ) 

      [2] => Array 
       (
        [product] => 2004 
        [date] => 2010-09-18 13:27:35 
        [status] => 1 
       ) 

     ) 

Я хочу, чтобы «коллапс» каждый второй массив размерности и получить максимальное значение DATE и максимальное положение value.So первый индекс вернется 2010-09- 18 13:27:35 и «6» и т. Д.

Проблема осложняется пустым массивом в последнем индексе. Я хотел бы использовать этот пустой массив и сообщить ему как дату и статус MAX.

Благодарим заранее!

+0

Не могли бы вы предоставить образец результата? –

+0

Вы извлекаете этот массив из запроса db или веб-службы или что-то еще? – greg0ire

ответ

1

Спасибо, что посмотрели все. Я понял.

$date=array(); 
$status=array(); 
$availability=array(); 
    foreach($set as $key => $value) 
    { 
     foreach($value as $value2) 
     { 

      if(isset($value2[1])) 
      { 
      $date[$key][]=$value2[1]; 
      $status[$key][]=$value2[2]; 

      } 
      else 
      { 
      $date[$key][]='2022-09-18 13:27:35'; 
      $status[$key][]='0'; 
      } 

     } 


       $availability[$key]=array(max($date[$key]),min($status[$key])); 

    } 
Смежные вопросы