按ID分组的PHP数组

按ID分组的PHP数组,php,adodb,Php,Adodb,我在一个数组中有一堆行,其中包含订单号和其他订单数据: Array ( [ORDER] => 257 [DATE] => 2011-06-13 [ITEM] => LOT98 [QTYORDERED] => 10.00 ) Array ( [ORDER] => 258 [DATE] => 2011-06-15 [ITEM] => FF25 [QTYORDERED] => 450.00 ) Array ( [ORDER]

我在一个数组中有一堆行,其中包含订单号和其他订单数据:

    Array ( [ORDER] => 257 [DATE] => 2011-06-13 [ITEM] => LOT98 [QTYORDERED] => 10.00 ) 
    Array ( [ORDER] => 258 [DATE] => 2011-06-15 [ITEM] => FF25 [QTYORDERED] => 450.00 ) 
    Array ( [ORDER] => 258 [DATE] => 2011-07-06 [ITEM] => FF25 [QTYORDERED] => 225.00 ) 
    Array ( [ORDER] => 259 [DATE] => 2011-06-08 [ITEM] => A151412 [QTYORDERED] => 90.00) 
    Array ( [ORDER] => 259 [DATE] => 2011-06-15 [ITEM] => A151412 [QTYORDERED] => 402.00 ) 
    Array ( [ORDER] => 259 [DATE] => 2011-07-06 [ITEM] => A151412 [QTYORDERED] => 357.00 ) 
我想将这些行放入一个按序号分组的数组中,其样式类似于:

    Order ID Date Item QTYOrdered
    257   0  xx   xx   xx
    258   0  xx   xx   xx
          1  xx   xx   xx
    259   0  xx   xx   xx
          1  xx   xx   xx
          2  xx   xx   xx
到目前为止,我的代码是:

    $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
    $RecordSet = $db->Execute("$q2");   
    while ($row = $RecordSet->FetchRow()) {}
在您的while循环中:

$ordered[$row['ORDER']][] = $row;
循环结束后,您将看到:

var_dump($ordered);

根据订单键自动打包。

因此。。。如果
Order
与上一个相同,您希望
null
还是想要二维数组?我想要二维数组。哈克雷已经回答了我的问题,对他来说是个大道具:)我看到了他的答案,但我想你可能是指其他的=)这么简单,为什么我不能想出一个答案。。。谢谢:)并在您的查询中按
ORDER
下单,然后为该列创建索引。您能在索引部分推断出什么吗?它将如何改进事情以及应该如何正确地完成?我认为他的意思是:如果您根据他们的
顺序
列保持$row的提交已被排序,然后按(自动增量?)
ID
您也可以控制
$ordered
中数据的顺序。只要它们按正确的顺序编号分组,我就不太关心它们的顺序。不过,这是整理最终二维数组的一种可能方法。