douhuan2101 2014-10-01 03:02
浏览 61
已采纳

如何使用php直接从mysql查询创建多维数组?

How can I have directly a multidimensional array from following mysql query?

$query = SELECT * FROM table WHERE field1 = 1;

I've tried the following:

$result = mysqli_query($connection, $query);

while ($row = mysqli_fetch_array($result)){
    $table[] = ($row['field1'].'~'.$row['field2'].'~'.$row['field3'].'~'.$row['field4']);
}

If we print it we have following result:

array(
    [0] => 1 ~ ALFA  ~ beta   ~ 57
    [1] => 1 ~ BETA  ~ gamma  ~ 18
    [2] => 1 ~ GAMMA ~ delta  ~ 24
    ...
    [999] => 1 ~ ZETA ~ theta ~ 19
)

Then I have to explode it to have the multidimensional array that I wish:

foreach ($table as $value) {
    $tableWithSubArrays[] = explode("~", $value);
}

And then we got it:

Array(
    [0] => Array
        (
            [0] => 1
            [1] => ALFA
            [2] => beta
            [3] => 57
    )

    [1] => Array
        (
            [0] => 1
            [1] => BETA
            [2] => gamma
            [3] => 18
    )

    ...

    [999] => Array
        (
            [0] => 1
            [1] => ZETA
            [2] => theta
            [3] => 19
    )

Is there any other way that make it directly from the query to the multidimensional array?

Many thanks in advance!

  • 写回答

1条回答 默认 最新

  • douqingzhi0980 2014-10-01 03:10
    关注
    while ($row = mysqli_fetch_array($result)){
        $table[] = $row;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 蓝桥oj3931,请问我错在哪里
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染