Você lê uma string vazia no array. A matriz não está definida e, em seguida, o primeiro elemento é definido como a cadeia vazia.
A string vazia é um dado perfeitamente válido. Não tenho certeza do que você esperava que acontecesse.
O conjunto equivalente de comandos seria
unset arr
arr[0]=""
arr
agora é uma matriz com um elemento. Seu elemento é a string vazia.