【问题标题】:Highcharts php data arrayHighcharts php数据数组
【发布时间】:2015-06-09 16:42:56
【问题描述】:

我正在努力在特定点将值添加到数组中。 我正在寻找的是创建和清空数组,从数据库中获取结果集,并根据它们是全局还是本地创建下面列出的 PHP 数组。问题是,无论我尝试什么,我都无法让数组看起来像下面。

值被替换,或数组被替换或值被添加到错误的地方

这是我的空数组,我正在尝试将每个结果集循环到数组中,然后在当天卖出多少。

$test = array();

foreach($globalDatabase as $value)
{
    $test['global'][] = array('name'=>$value->type, 'data' => array($value->day,$value->quantity) );
}

foreach($localDatabase as $value)
{
    $test['local'][] = array('name'=>$value->type, 'data' => array($value->day,$value->quantity) );
}

这就是我需要它看起来的样子,所以它最终看起来像这样,这是我需要它的输出格式,因此它与 highcharts 兼容

    $test = array(
        'global'=>array( 
                array(
                    'name'=>'CARS', 
                    'data' => array(
                        array('mon',1),
                        array('tue',1)
                    )
                ),
                array(
                    'name'=>'BIKES', 
                    'data' => array(
                        array('mon',1),
                        array('tue',1)
                    )
                ),
                array(
                    'name'=>'BOATS', 
                    'data' => array(
                        array('mon',1),
                        array('tue',1)
                    )
                ),
        ),
        'local'=>array(                    
                array(
                    'name'=>'CARS', 
                    'data' => array(
                        array('mon',1),
                        array('tue',1)
                    )
                ),
                array(
                    'name'=>'BIKES', 
                    'data' => array(
                        array('mon',1),
                        array('tue',1)
                    )
                ),
        )
    );

【问题讨论】:

    标签: php arrays highcharts


    【解决方案1】:

    我认为您从表中提取的数据行是“平面”的,这意味着每行只有一个值,分别用于“类型”、“天”和“数量”,没有嵌套。 按照这个假设,您可能只需要按类似于以下的常见属性对数据进行分组:

    $databases = array('global'=>$globalDatabase, 'local'=>$localDatabase);
    $workData = array('global'=>array(), 'local'=>array());
    foreach($databases as $dbType=>$workDb)
    {
        foreach ($workDb as $value) {
            if(!array_key_exists($value->type, $workData[$dbType])) {
                $workData[$dbType][$value->type] = array();
            }
            $workData[$dbType][$value->type][] = array($value->day, $value->quantity);
        }
    
    }
    
    $test = array();
    foreach ($workData as $type=>$workRow) {
        foreach ($workRow as $dataKey=>$dataRow) {
            $test[$type][] = array('name'=>$dataKey, 'data' => $dataRow );
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-03
      • 2018-03-23
      • 1970-01-01
      • 2018-05-09
      • 2014-07-04
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多