Originariamente inviato da whisher
Nel primo caso è un array nel secondo è un array
ma con oggetti al suo interno invece di array multidimensionali
e mi domandavo come mai
codice:
$pippo = array(1,2,3);
json => [1,2,3]


$pippo = array(1,2,3);
$pippo['pluto'] = 4;
json => {"0":1,"1":2,"2":3,"pluto":4}
in JavaScript non esistono gli array associativi (è una caxxata ma prendila per buona con JSON) quindi se il php ha un solo indice non numerico la conversione restituisce un oggetto


[edit]
in poche parolle il protocollo non prevede una sintassi di questo tipo:
[1,2,3,"pluto":4]
poichè di fatto non puoi assegnare, in JavaScript, una variabile come quella

codice:
var pippo = [1,2,3,"pluto":4];
// inevitabilmente errore