PHP,mysql_fetch_array并将数组分解为多个数组


PHP, mysql_fetch_array and decompose an array into multiple arrays

>我有一个数据库表(队列),如下所示:

queueId phoneNumber 
1       340 000
1       340 111    1
1       340 222
2       332 000
2       332 111
3       421 000
3       421 111
3       421 222

我使用此查询:

SELECT * FROM queue ORDER BY queueId

和这个PHP代码:

while ($rowQueue = mysql_fetch_array($resultQueryQueue, MYSQL_ASSOC)) {
            $queue[] = array(
                'queueId' => $rowQueue['queueId'],
                'phoneNumber' => $rowQueue['phoneNumber']
      ); 
}

结果是一个包含 8 个数组的数组(因为记录为 8)。

我想得到一个包含数组的数组,因为有很多键。在我的示例中,我想获得 3 个数组,第一个键 1,第二个和第三个键 2 和键 3。

如何制作 PHP?有什么功能可以帮助我吗?

我想到了两种方法(当然,其他方法很少)。一个你可以用mysql查询做的,如果"queryId"是一个外键,你可以得到所有与特定queryId关联的电话号码

第二:我猜你会从查询中得到一个结果是这样的

$arr = array(
          array(
                  'queryid' => 1,
                  'phonenumber'=>350000
               ),
          array(
                  'queryid' => 1,
                  'phonenumber'=>350000
               ),
          array(
                  'queryid' => 2,
                  'phonenumber'=>340001
                ),
          array(
                  'queryid' => 2,
                  'phonenumber'=>340002
               )
     );

您可以按以下方式进行排序

$ret = array();
foreach ($arr as $k => $v)
{
      $ret [$v['queryid']][]=$v['phonenumber'];
}
var_dump($ret);

此数组的键将是"queryid",并将具有与该键相关的电话号码数组并且还要考虑从电话号码中删除空格。让我知道它是否有效。谢谢