2010-09-25 5 views
1

J'ai un tableau qui ressemble à ceci:Comment trouver des valeurs max dans un tableau multidimensionnel?

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 
       ) 

     ) 

Je veux « effondrement » chaque seconde matrice de dimension et d'obtenir la valeur maximale DATE et l'état max value.So le premier indice retournerait 2010-09- 18 13:27:35 et '6' etc.

Le problème est encore compliqué par le tableau vide dans le dernier index. Je voudrais utiliser ce tableau vide et le signaler comme date et statut MAX.

Merci d'avance!

+0

Pourriez-vous fournir un échantillon du résultat? –

+0

Récupérez-vous ce tableau à partir d'une requête db ou d'un service Web ou autre? – greg0ire

Répondre

1

Merci d'avoir regardé tout le monde. Je l'ai compris.

$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])); 

    }