Я пытаюсь json_encode массив, который возвращается из запроса Zend_DB.Как кодировать массив PHP в массив JSON, а не объект?
var_dump дает: (вручную добавлять 0 член не меняет картину.)
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"
}
}
кодированная строка выглядит следующим образом:
{"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"}}
Что мне нужно:
[{"comment_id":"1","erasable":"1","comment":"test 1"},
{"comment_id":"2","erasable":"1","comment":"test 1"},
{"comment_id":"3","erasable":"1","comment":"jhghjg"}]
Это то, о чем говорит документация php.ini/json_encode.
+1 # массив, не начинающийся с 0 для его ключа, не является массивом. phps, хотя для того, чтобы иметь странного ублюдка lovchild массива/хеша, который работает правильно, как ни один. –
Код - это то, что возвращается как результат запроса Zend_DB –
Как я уже сказал, это не делает его массивом, что делает его хэшем с числовым ключом, который просто * бывает * в этом случае близок к 0 на start, потому что это то, что имеют данные в базе данных. –