В общем, как разберёшься, пиши, проверим, подскажем что почитать :)
Это получается такая особенность поведения цикла for для обхода массива?
Выглядит так, будто бы цикл for пытается получить следующий элемент списка (в данном случае с индексом 0) - срабатывает механизм автовивификации и создается пустой анонимный массив, и циклу for возвращается 0 (т.е. false, что элементов нет), поэтому и не срабатывает ни разу print . Так?