При выполнении json_encode многомерного массива в PHP я заметил другой вывод, просто назвав один из массивов, а не не например,
$arrytest = array(array('a'=>1, 'b'=>2),array('c'=>3),array('d'=>4));
json_encode($arrytest)
дает один массив из нескольких объектов json
[{"a":1,"b":2},{"c":3},{"d":4}];
, тогда как простое присвоение имени среднему массиву
$arrytest = array(array('a'=>1, 'b'=>2),"secondarray"=>array('c'=>3),array('d'=>4));
json_encode($arrytest)
создает один объект json с несколькими объектами json внутри
{"0":{"a":1,"b":2},"secondarray":{"c":3},"1":{"d":4}};
, почему 1-й вариант не возвращает те же результаты, что и 2-й, за исключением "1" вместо "secondarray"