JSON_ENCODE eines mehrdimensionalen Arrays mit unterschiedlichen Ergebnissen

Wenn ich in PHP ein mehrdimensionales Array json_encode mache, bemerke ich eine andere Ausgabe, indem ich einfach eines der Arrays benenne, anstatt sie nicht zu benennen. Zum Beispiel:

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

Gibt ein einzelnes Array mit mehreren JSON-Objekten

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

Wobei dem mittleren Array einfach ein Name zugewiesen wird

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

Erstellt ein einzelnes JSON-Objekt mit mehreren darin enthaltenen JSON-Objekten

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

Warum würde die 1. Option nicht dieselben Ergebnisse wie die 2. Option mit "1" anstelle von "secondarray" zurückgeben?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage