2009-07-02 8 views
1

nouveau ici donc merci d'avoir pris le temps de lire ma question.Commander une colonne dans un tableau à deux dimensions

Je cours un certain code de PHP qui compare les nombres entrent sur l'écran avec ceux dans une base de données. Le problème que j'ai est d'ordonner le tableau bidimensionnel après avoir manipulé chaque ligne. Il semble que les numéros d'id du tableau sont supprimés. Je voudrais commander le tableau par colonne [2] dans l'ordre décroissant. Quelqu'un peut-il offrir de l'aide?

while($a_row = mysql_fetch_array($result)) 
    { 
    $draw = array($a_row['Drawn1'], 
     $a_row['Drawn2'], 
     $a_row['Drawn3'], 
     $a_row['Drawn4'], 
     $a_row['Drawn5'], 
     $a_row['Drawn6'], 
     $a_row['Drawn7'], 
     $a_row['Drawn8']); 
    $numbers = array("6", "9", "4", "8", "14", "18"); 
    if (count(array_intersect($draw, $numbers)) >= 1) { 
     $rs = array(($a_row['DrawNo']), join(" , ",array_intersect($draw, $numbers)), count(array_intersect($draw, $numbers))); 
    } else { 
     $rs = null; 
    } 
    array_multisort($rs[1], SORT_NUMERIC, SORT_DESC, $rs[0], SORT_ASC, SORT_STRING); 
    print_r ($rs); 
    echo "<br />"; 
    } 

Voici à quoi ressemble la sortie.

Array ([0] => A0048 [1] => 14 [2] => 1) 
Array ([0] => A0049 [1] => 6 , 14 , 8 , 18 [2] => 4) 
Array ([0] => A0050 [1] => 14 [2] => 1) 
Array ([0] => A0051 [1] => 14 [2] => 1) 
Array ([0] => A0052 [1] => 18 [2] => 1) 
Array ([0] => A0053 [1] => 6 , 14 [2] => 2) 
Array ([0] => A0054 [1] => 6 [2] => 1) 
Array ([0] => A0055 [1] => 14 [2] => 1) 
Array ([0] => A0056 [1] => 4 [2] => 1) 
Array ([0] => A0057 [1] => 9 , 6 , 4 [2] => 3) 

Merci pour votre temps
zeroanarchy

Répondre

0
+0

Salut, merci d'avoir pris le temps de regarder ma question. J'utilise actuellement la fonction array_multisort dans le code ci-dessus et il ne retourne pas le résultat souhaité (voir sortie). Si j'essaie de commander le tableau à deux dimensions par colonne [2]. Sortie souhaitée: Tableau ([0] => A0049 [1] => 6, 14, 8, 18 [2] => 4) Tableau ([0] => A0057 [1] => 9, 6 , 4 [2] => 3) Tableau ([0] => A0053 [1] => 6, 14 [2] => 2) Tableau ([0] => A0050 [1] => 14 [2 ] => 1) – zeroanarchy

1

clés du tableau numérique étant REINDEXer fait partie du comportement documenté de array_multisort(). Si vous avez besoin de clés conservées, vous devez les convertir en clés de chaîne.