我正在尝试使用从数据库中提取的一些数据来调整代码上的php图表库。我太近了但我觉得我对所有这些数组感到困惑。我会尝试尽可能简单地解释。构建我的库需要读取以创建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)));
答案 0 :(得分:1)
如果数组应与第一个代码示例相同,则不需要=>
。所以,您可以执行以下操作:
while($row = mysqli_fetch_array($result)){
$values[] = array($row['Date'], $row['Total']);
}
=>
创建一个键值对,第一项作为键,第二项作为值。如果您使用,
,则会创建一个包含这些项的平面数组。
答案 1 :(得分: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
)
)
)
)
正是您需要的
答案 2 :(得分: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
^---????