Nel tuo caso le graffe vengono prese come come un inserimento di variabile e quindi non vanno in output.
Scrivere echo "{$var}" o scrivere echo $var è la stessa cosa.
Nel mio caso se var='ciao' va in output '[ciao]'.
La cosa è utile perchè per esempio nel tuo caso potrebbe esserci stata una \n nella stringa o un altro carattere speciale, anche non visualizzabile.
Quelli visualizzabili se racchiudi la stringa in un [] li vedi subito perchè se per esempio la stringa fosse stata 'test\t' avresti visualizzato [test ].
Per assicurarti cmq che non ci siano caratteri al di fuori di quello che vedi dovresti usare un strlen o meglio ancora sfruttando le funzioni precostituite un var_dump.
Normalmente quando vedi qualcosa di inatteso dovresti andarci con i piedi di piombo. Echo e print sono funzioncine sceme per l'output ma per il debug è molto meglio usare var_dump() e se possibile abbinare un tipo di documento neutro come Content-type: text/plain; all'output (questo avrebbe forzato il browser a visualizzare & senza interpretarlo)