¿Cuál es exactamente la diferencia entre el operador de flecha -> y el corchete de indexación de matriz []?
En mi experiencia si podemos hacer $obj->item; siempre podemos hacer $obj['item'];
Pero no al revés.
Puede usar corchetes con una matriz, pero no puede usar flechas para matrices. Array es una estructura de datos pero el objeto es stdClass en PHP. Entonces, puede usar el objeto como una clase normal. Puedes usar ambos para objetos.