Tengo la siguiente matriz en PHP:
Array
(
[0] => Array
(
[id] => 0
[name] => name1
[short_name] => n1
)
[2] => Array
(
[id] => 2
[name] => name2
[short_name] => n2
)
)
Quiero codificarlo JSON como una matriz JSON, produciendo una cadena como la siguiente:
[
{
"id":0,
"name":"name1",
"short_name":"n1"
},
{
"id":2,
"name":"name2",
"short_name":"n2"
}
]
Pero cuando llamo json_encodea esta matriz, obtengo lo siguiente:
{
"0":{
"id":0,
"name":"name1",
"short_name":"n1"
},
"2":{
"id":2,
"name":"name2",
"short_name":"n2"
}
}
que es un objeto en lugar de una matriz.
¿Cómo puedo json_encodecodificar mi matriz como una matriz?

0,2son importantes? Estoy en la misma situación en la que no puedo volver a indexar la matriz.ArrayenJSONson solo matrices indexadas , por lo que la estructura que está tratando de obtener no es Json / Javascript válido.La matriz PHP Associatives son objetos en JSON, por lo que, a menos que no necesite el índice, no puede hacer tales conversiones.
Si desea obtener dicha estructura, puede hacer:
Will devuelve algo como:
fuente
true convierte todas las propiedades en una matriz (secuencial o no)
fuente
json_encode$serialized = json_encode($nonContiguousArray);$unserialize = json_decode($serialized, true);finalmentefinallySerializedInArrayFormat = json_encode($unserialize);si esto es lo que pretendes, tienes razón, pero parecía una pequeña solución sin aliento.Prueba esto,
fuente