Estoy tratando de json_encode una matriz que se devuelve desde una consulta Zend_DB.¿Cómo codifico una matriz PHP en una matriz JSON, no objeto?
var_dump da: (Adición manual de 0 miembro no cambia la imagen.)
array(3) {
[1]=>
array(3) {
["comment_id"]=>
string(1) "1"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "test 1"
}
[2]=>
array(3) {
["comment_id"]=>
string(1) "2"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "test 1"
}
[3]=>
array(3) {
["comment_id"]=>
string(1) "3"
["erasable"]=>
string(1) "1"
["comment"]=>
string(6) "jhghjg"
}
}
La cadena codificada que parece:
{"1":{"comment_id":"1","erasable":"1","comment":"test 1"},
"2":{"comment_id":"2","erasable":"1","comment":"test 1"},
"3":{"comment_id":"3","erasable":"1","comment":"jhghjg"}}
Lo que necesito es:
[{"comment_id":"1","erasable":"1","comment":"test 1"},
{"comment_id":"2","erasable":"1","comment":"test 1"},
{"comment_id":"3","erasable":"1","comment":"jhghjg"}]
que es lo que la documentación php.ini/json_encode dice que debería ser.
+1 # una matriz que no comienza con 0 porque su clave no es una matriz. phps fault por tener un lovechild bastardo raro de array/hash que funciona correctamente como ninguno. –
El código es lo que se devuelve como un resultado de consulta Zend_DB –
Como dije, eso no lo convierte en una matriz, eso lo convierte en un hash con una clave numérica, que solo * sucede * en este caso para estar cerca de 0 en el comenzar porque eso es lo que tienen los datos en la base de datos. –