PHP、mysql_获取_数组并将一个数组分解为多个数组

PHP、mysql_获取_数组并将一个数组分解为多个数组,php,arrays,Php,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 =

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

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?有什么功能可以帮助我吗?

我想有两种方法可以做到这一点(当然,几乎没有其他方法)。 如果“queryId”是一个外键,那么可以使用mysql查询,您可以获得与特定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',并且将具有与该键相关的phonenumber数组 还考虑从电话号码中删除空间。
让我知道它是否有效。谢谢

你到底想要什么?如果您不想将它们全部放在一个数组中,那么请不要将它们全部放在一个数组中。请注意,它们不再被维护,而是被保存。而是学习,并使用或。您还需要在while循环中尝试这一行..“array_push($queue[$rowQueue['queueId']],$rowQueue['phoneNumber'])”