JSON_ENCODE de matriz multidimensional dando diferentes resultados.

Cuando hago un json_encode una matriz multidimensional en PHP, estoy notando una salida diferente simplemente al nombrar una de las matrices, en lugar de no nombrarlas. Por ejemplo:

$arrytest = array(array('a'=>1, 'b'=>2),array('c'=>3),array('d'=>4));
json_encode($arrytest)

da una única matriz de múltiples objetos json

[{"a":1,"b":2},{"c":3},{"d":4}];

mientras que simplemente asignando un nombre a la matriz central

$arrytest = array(array('a'=>1, 'b'=>2),"secondarray"=>array('c'=>3),array('d'=>4));
json_encode($arrytest)

crea un solo objeto json con varios objetos json dentro

{"0":{"a":1,"b":2},"secondarray":{"c":3},"1":{"d":4}};

¿Por qué la primera opción no devolvería los mismos resultados que el segundo extracto con "1" en lugar de "secondarray"?

Respuestas a la pregunta(3)

Su respuesta a la pregunta