2011-06-01 5 views
1

Je souhaite trier les valeurs de tableau multidimensionnelles de non null à null. Je veux trier mon tableau multidimensionnel si les champs d'adresse comme la rue, les numéros de poste sont nuls, alors ils devraient afficher dans la dernière page. Aidez-moi, s'il vous plaît. Merci d'avance.Tableau multidimensionnel de tri

Répondre

2
function array_sort($array, $on, $order=SORT_ASC) { 

    $new_array = array(); 
    $sortable_array = array(); 

    if (count($array) > 0) { 
     foreach ($array as $k => $v) { 
      if (is_array($v)) { 
       foreach ($v as $k2 => $v2) { 
        if ($k2 == $on) { 
         $sortable_array[$k] = $v2; 
        } 
       } 
      } else { 
       $sortable_array[$k] = $v; 
      } 
     } 

     switch ($order) { 
      case SORT_ASC: 
       asort($sortable_array); 
      break; 
      case SORT_DESC: 
       arsort($sortable_array); 
      break; 
     } 

     foreach ($sortable_array as $k => $v) { 
      $new_array[$k] = $array[$k]; 
     } 
    } 

    return $new_array; 
} 

quelque chose le long des lignes de qui fonctionne pour moi (plus ou moins une copie collée de http://php.net/manual/en/function.sort.php)

0

Je ne suis pas sûr de PHP, mais en général je vous dirais besoin de couper votre tableau afin de diviser l'ensemble de la null pas null ensemble, puis trier la non null Définie en fonction de vos critères puis fusionner avec l'ensemble null.

Questions connexes