I am getting some data from a database and am encoding it to 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 .= ',';
}
}
}
but instead of getting the json string in the format:
{"name:"joe", "age":"22", "etc":"etc"}
I'm getting every value duplicated because it is giving me the element name as being both the index of an associative and non-associative array. So I'm getting:
{"0":"joe", "name":"joe", "1":"22", "age":"22", "3":"etc", "etc":"etc"}
While I can still use the json. It is still twice the size that I want it to be and so not efficient. Is there anyway I can get the json_encode method to just give me the associative array inices as the json tags? (Wrong words to describe these things no doubt)
Many thanks