我試圖將多維php數組轉換爲JSON格式。 問題是JSON添加數組中每個值的「數字鍵」。使用php轉換JSON格式的嵌套數組顯示數字索引而不是數組名稱
對於構建JSON,首先我做一個查詢,然後,爲了追加另一個具有每個地點營業時間的數組,我對每個結果都做了另一個查詢。
這是我得到的JSON:
{
"sucursales": [
{
"sucursal": {
"id_sucursal": "104",
"id_user": "2",
"nombre_sucursal": "wena ql 2",
"region": "0",
"0": {
"dia": "1",
"hora_inicio": "600",
"hora_fin": "600"
},
"1": {
"dia": "2",
"hora_inicio": "600",
"hora_fin": "600"
},
"2": {
"dia": "3",
"hora_inicio": "600",
"hora_fin": "600"
},
"3": {
"dia": "4",
"hora_inicio": "600",
"hora_fin": "600"
}
}
}
.....
]
}
這是我想要的JSON:
{
"sucursales": [
{
"sucursal": {
"id_sucursal": "104",
"id_user": "2",
"nombre_sucursal": "wena ql 2",
"region": "0",
"horario": {
"dia": "1",
"hora_inicio": "600",
"hora_fin": "600"
},
"horario": {
"dia": "2",
"hora_inicio": "600",
"hora_fin": "600"
},
"horario": {
"dia": "3",
"hora_inicio": "600",
"hora_fin": "600"
},
"horario": {
"dia": "4",
"hora_inicio": "600",
"hora_fin": "600"
}
}
}
.....
]
}
這是我用追加一個陣列到另一個代碼。請注意,$ result是mysql查詢的結果。
/* create one master array of the records */
$sucursales = array();
if(mysql_num_rows($result)) {
while($sucursal = mysql_fetch_assoc($result)) {
$query_horarios = "SELECT dia,hora_inicio,hora_fin FROM horario_funcionamiento WHERE id_sucursal=".$sucursal['id_sucursal'].";";
$resultado_horarios = mysql_query($query_horarios,$link) or die('Error en la consulta SQL'); //.$query);
while($horario = mysql_fetch_assoc($resultado_horarios)){
$sucursal[]= $horario;
}
$sucursales[] = array('sucursal'=>$sucursal);
}
}
而我使用的數組轉換爲JSON格式的代碼:
header('Content-type: application/json');
echo json_encode(array('sucursales'=>$sucursales));
你要使用同一個鍵對多個對象..? –