2016-02-03 68 views
2

我想调整一个PHP图表库在我的代码与从数据库中获取的一些数据。我太接近了,但我想我对所有这些阵列感到困惑。我会尽可能简单地解释。构建我的图书馆需要,以创建一个PHP图表来读取数据的适当形式如下:配置2D的PHP阵列

//With this value my api displays the chart normally 
$p->data = array(array(array("2015/10/10",44),array("2015/10/11",56))); 

我试图构建上述的阵列的方法是以下

//Fetch results from database and push values into an array 
while($row = mysqli_fetch_array($result)){ 
    $values[] = array($row['Date'] => $row['Total']); 
} 
$p->data = array(array($values)); 

但不幸的是,图表不显示我的值。如何解决我的代码,以实现这一目标格式:

$p->data = array(array(array("2015/10/10",44),array("2015/10/11",56))); 

回答

1

要插入$row['Date']为关键和$row['Total']的值,而如果你运行print_r($p->data)结果在此:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => Array 
         (
          [2015/10/10] => 44 
         ) 
        [1] => Array 
         (
          [2015/10/11] => 56 
         ) 
       ) 
     ) 
) 

你真正需要

while($row = mysqli_fetch_array($result)){ 
    $values[] = array($row['Date'], $row['Total']); 
} 

这样一来,你会得到此阵列:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [0] => Array 
         (
          [0] => 2015/10/10 
          [1] => 44 
         ) 
        [1] => Array 
         (
          [0] => 2015/10/11 
          [1] => 56 
         ) 
       ) 
     ) 
) 

确切地说你需要什么

1

如果数组应该是一样的第一个代码示例,您不需要=>。所以,你可以做到以下几点:

while($row = mysqli_fetch_array($result)){ 
    $values[] = array($row['Date'], $row['Total']); 
} 

=>创建一个键值对与第一项目为重点,第二个作为价值。如果您使用,,它将创建一个包含这些项目的平面数组作为值。

+0

非常感谢大家! – Labrosb

0

你一个包裹太多阵列:

$p->data = array(array(array("2015/10/10",44),array("2015/10/11",56))); 
      ^-A ^-B ^-C0     ^-C1 

然后

$values[] = array($row['Date'] => $row['Total']); 
       ^-C0,C1,C2,etc... 
     ^--B 
} 
$p->data = array(array($values)); 
        ^--A 
       ^---????