Столкнулся с проблемой что json_encode вместо массива [] почему то начал создавать объект, хотя я передаю в метод массив. Перед тем как передавать массив я использовал array_diff для того, что б отфильтровать некоторые элементы. В мануале почему-то это не описано, но оказывается при отборе элементов из массива1 функция сохраняет ключи массива. Причем интересно, если ключи идут по порядку нчиная с 0, то json_encode кодирует нормально, если ключи содержат промежуток, то уже кодирует как объект.
Примеры, что б проще понять:
Примеры, что б проще понять: