$ est simplement un identifiant pour les tableaux.
$ output[ i ] identifie l’élément i du tableau $ output[] , tandis que output[i] est la valeur retenue la ième barre précédente par la variable output.
Les variables sont historicisées, de sorte que les valeurs sont conservées pour n’importe quelle barre, tandis que les tableaux ne le sont PAS, car les crochets font uniquement référence aux éléments, pas aux valeurs précédemment conservées. Chaque fois que vous modifiez la valeur d’un élément du tableau, la valeur précédente est perdue (sauf si vous la stockez dans une variable ou dans un autre tableau avant la modification).