Although I don't like to rely on autovivication because it doesn't work for every case. I don't like to follow the boundary of arbitrary rules (unless avoiding tax ;);)) So in my code, for example, you'll find initialisations ahead of the array reference usage like: