While writing a recent application I accidentally started filling an array before I had declared it.
error_reporting ( E_ALL); $array[\'value\'] = \'Test
No, you don't have to
And yes, it is a good habit to declare the array to increase code redability