我从数据库中获取一些数据并将其编码为json:
$json = "";
if($result = $dbc->query($query)) {
$num = $result->num_rows;
for($i = 0; $i < $num; $i++) {
$row = $result->fetch_array();
$json .= json_encode($row);
if($i != ($num-1)) {
$json .= ',';
}
}
}
Run Code Online (Sandbox Code Playgroud)
但不是以格式获取json字符串:
{"name:"joe", "age":"22", "etc":"etc"}
Run Code Online (Sandbox Code Playgroud)
我得到的每个值都是重复的,因为它给了我元素名称作为关联和非关联数组的索引.所以我得到了:
{"0":"joe", "name":"joe", "1":"22", "age":"22", "3":"etc", "etc":"etc"}
Run Code Online (Sandbox Code Playgroud)
虽然我仍然可以使用json.它仍然是我想要它的两倍大小,因此效率不高.无论如何,我可以让json_encode方法只给我关联数组作为json标签?(毫无疑问,用错误的词语来描述这些事情)
非常感谢
Pek*_*ica 24
这是因为你正在使用fetch_array()(强调我的):
mysqli_fetch_array()是mysqli_fetch_row()函数的扩展版本.除了将数据存储在结果数组的数字索引中之外,mysqli_fetch_array()函数还可以使用结果集的字段名作为键将数据存储在关联索引中.
请fetch_assoc()改用.
| 归档时间: |
|
| 查看次数: |
5092 次 |
| 最近记录: |