Я все время преобразую массив и объект в PHP-приложении, которое использует couchDB и Ajax. Конечно, я также конвертирую объекты в JSON и обратно (иногда для couchdb, но в основном для Ajax), но это не сильно мешает моему рабочему процессу.
В настоящее время у меня есть объекты php, которые возвращаются модулями CouchDB, которые я использую, и, с другой стороны, у меня есть старый привычка возвращать массивы, такие как массив («error» => «not found», «data» => $ dataObj) из моих функций. Это приводит к смешанному вхождению реальных объектов php и вложенных массивов, и я при необходимости использую (object) или (array). Хуже всего то, что я знаю более или менее наизусть, что возвращает функция, а не какой тип (массив или объект), поэтому я часто сталкиваюсь с ошибками типов.
Мой план состоит в том, чтобы всегда приводить массивы к объектам, прежде чем вернуться из функции. Конечно, это подразумевает много рефакторинга.
Это правильный путь? Как насчет конверсии? Другие идеи или советы?
Редактировать: Ответ Кенании предполагает, что я должен пойти другим путем, это означало бы, что я буду преобразовывать все в массивы. И для всего Ajax / JSON, а также для CouchDB я бы использовал
$myarray = json_decode($json_data,$assoc = true); //EDIT: changed to true, whcih is what I really meant
Еще больше работы по изменению всех функций CouchDB и Ajax, но в итоге у меня получился лучший код.