【发布时间】:2019-01-06 03:20:27
【问题描述】:
我想填充一个多维数组并将其从 php 发送到 js。
首先我执行 sql 查询
$query = "SELECT value1, value2, value3 FROM table WHERE id = '$id' LIMIT 10";
$value = mysqli_query($db, $query);
下一步是填充数组
$data = array();
$counter = 1;
while($row = mysqli_fetch_assoc( $value )){
$data[$counter] = array($row['value1'], $row['value2'], $row['value3']);
$counter++;
}
但是当我尝试用
测试输出时echo "" . json_encode( $data , JSON_PRETTY_PRINT);
网站上没有显示任何内容
我在使用 print_r 进行 while 循环后得到这个正确的输出
{“1”:{“value1”:“52”,“value2”:“12”,“value3”:“821”},“2”:{“value1”:“52”,“value2”:“12” "} }
【问题讨论】:
-
您的计数器应该从 0 开始,而不是 1。您可以尝试使用
print_r而不是json_encode进行测试吗?另外,您确定您的查询正在返回行吗? -
是的,我测试了它,查询返回行。当我打印数组时,它返回正确的填充数组
-
能发一下数据结构吗?我们无法运行您的查询,这听起来不是问题,因为您的
print_r正在按预期工作,因此 minimal 示例将是$data的转储和对json_encode的调用产生不正确或没有输出。
标签: php json multidimensional-array