【问题标题】:Create multidimensional array from single array从单个数组创建多维数组
【发布时间】:2014-09-25 04:59:19
【问题描述】:

在查询 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

            )
    )
)

【问题讨论】:

  • $newArray = array($originalArray);
  • 对不起,我应该告诉更多。我希望它是增量的。
  • 那么请编辑您的问题以显示您真正想要的内容:什么应该是增量的?也许array_chunk() 是您正在寻找的东西,但这只是一个猜测,直到您澄清您需要什么
  • 再次抱歉。我已经编辑了问题。
  • $newArray = array_chunk($originalArray, 3);

标签: php mysql sql arrays multidimensional-array


【解决方案1】:

在提供更多详细信息后,我会很乐意编辑/更新此答案。

如果可以的话,我认为您的问题比您的 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'];

等等

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-25
    • 2023-03-18
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-30
    相关资源
    最近更新 更多