【问题标题】:Create multidimentional array from SQL table [closed]从 SQL 表创建多维数组 [关闭]
【发布时间】:2013-09-11 14:22:47
【问题描述】:

我有一个表'GOAL':

    ID   TYPE   KEY     VALUE
    --   ----   ---     -----
    1    RED    BASE    3
    2    BLUE   NAME    ALLOR
    3    RED    MAIN    _TTR
    4    GREEN  LOCAL   PIN,SEC,BALL,UNI
    5    BLUE   ALT     2DFFRST34@HH&FR#
    6    GREEN  DOMAIN  SITE.ORG,NSPL.EDU,ROAR.IN

我想在 PHP 中创建一个多维数组来生成这个数组:

    $GOAL = array (
        'RED'  => array    (
               'BASE' => 3,
               'MAIN' => '_TTR'
        ),
        'BLUE'   => array(
               'NAME' => 'ALLOR',
               'ALT' => '2DFFRST34@HH&FR#'
        ),
        'GREEN'   => array(
               'LOCAL' => 'PIN,SEC,BALL,UNI',
               'DOMAIN' => 'SITE.ORG,NSPL.EDU,ROAR.IN'
        )
    );

查询应该是什么?

【问题讨论】:

  • 我建议您阅读JOINs 并学习如何对数组进行排序。或者考虑在 JSON 中序列化您的数据,然后将其存储。
  • 这看起来有点像家庭作业。到目前为止,您尝试了什么,发生了什么?

标签: php sql arrays


【解决方案1】:

这样的东西应该可以工作

  <?php 
        $query = mysql_query('SELECT * FROM GOAL');
        $goal = array();
        while($row = mysql_fetch_object($query)) {
            if(!isset($goal[$row->type])) {
                $goal[$row->type] = array();
            }
            $goal[$row->type][$row->key] = $row->value;
        }
    ?>

【讨论】:

  • 感谢 Farla,它的效果显而易见。 @DiMono:我是新手,对构建它感到困惑。例如,该表与其他表类似。
猜你喜欢
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 2016-05-23
  • 2011-07-28
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多