从单个数组创建多维数组

时间:2014-08-01 22:23:32

标签: php mysql sql arrays multidimensional-array

在查询mysql表后,我有以下sql结果集。所以它生成一个数组,每行都是单个元素。

Array
(
    [0] => stdClass Object
        (
            [quid] => 9


        )

    [1] => stdClass Object
        (
            [quid] => 10


        )

    [2] => stdClass Object
        (
            [quid] => 11


        )

    [3] => stdClass Object
        (
            [quid] => 9


        )

    [4] => stdClass Object
        (
            [quid] => 10


        )

    [5] => stdClass Object
        (
            [quid] => 11


        )



)

现在我想用php创建另一个数组,其中第一个键将保存所有整个数组结果集,依此类推。

Array
    (
     [0] => array
        (
            [0] => stdClass Object
            (
                [quid] => 9

            )

            [1] => stdClass Object
            (
                [quid] => 10

            )

           [2] => stdClass Object
            (
                [quid] => 11

            )
    )
    [1] => array
        (
            [0] => stdClass Object
            (
                [quid] => 9

            )

            [1] => stdClass Object
            (
                [quid] => 10

            )

           [2] => stdClass Object
            (
                [quid] => 11

            )
    )
)

1 个答案:

答案 0 :(得分:0)

我很乐意编辑/更新此答案,因为提供了更多详细信息。

如果可以,我认为您的问题比PHP代码更“上游”。我建议您的数据库模式中缺少某些内容......

尽我所知 - (你的问题需要更多详细信息) - 你的数据库中有二维信息:

[x,y]

所以我们可以将其视为:

[0, 9],[0,10],[0,11]
[1, 9],[1,10],[1,11]

如果在您的架构中有两列 - x,y - 您只需选择两者并在PHP中正确解析:

<?php
$arr = array();
$res = do_query("SELECT x,y FROM tbl;");
while ($row = get_row($res))
   $arr[$row['x']] = $row['y'];

如果您的数据库中没有这两列,我完全不清楚您将如何将一维信息分解为2。

也许您可以展示您的架构和一些示例数据,并提供您正在尝试解决的问题的更全面的解释?