PHP - 没有为折线图生成正确的数组

时间:2014-08-22 22:19:48

标签: php arrays

我有一个脚本来生成一些数据,这些数据会被拉入折线图。我需要为每个公司生成一行,其中包含$teamCount变量。现在,脚本只创建一个数组并将每个公司的所有行都固定在一个数组中,这基本上是创建年复一年的数据(它不应该是这样)。

我不确定如何嵌套foreach或其他for循环。

这是脚本:

      $finance = array(
        array(
            'key' => $companyName,
            'values' => array()
        )
      );

      for ($i = 0; $i < $teamCount; ++$i) {                 
          $count = $i + 1;
          $companyName = 'Company ' . $count;
          $finance[0]['values'][] = array('x' => $count, 'y' => 25000000);
        }

        $insertdata['finance'] = $finance;  

以下是数据输出:

array (
  0 => 
  array (
    'key' => 'Company 2',
    'values' => 
    array (
      0 => 
      array (
        'x' => 1,
        'y' => 25000000,
      ),
      1 => 
      array (
        'x' => 2,
        'y' => 25000000,
      ),
    ),
  ),
)

我不确定如何做的所需输出是:

array (
  0 => 
  array (
    'key' => 'Company 1',
    'values' => 
    array (
      0 => 
      array (
        'x' => 1,
        'y' => 25000000,
      ),
    ),
  ),
  1 => 
  array (
    'key' => 'Company 2',
    'values' => 
    array (
      0 => 
      array (
        'x' => 1,
        'y' => 25000000,
      ),      
    ),
  ),
)

1 个答案:

答案 0 :(得分:2)

它只创建一个数组,因为每次循环都会推送$finance[0],而不是$finance本身。您正在设置$companNname变量,但不将其放在数组中的任何位置。

$finance = array();
for ($i = 1; $i <= $teamcount; $i++) {
    $finance[] = array(
        'key' => 'Company ' . $i,
        'values' => array(
            array('x' => 1, 'y' => 2500000)
        )
    );
}

$insertdata['finance'] = $finance;