Если вы передадите второй аргумент в pathinfo, он не вернет массив.
Вам просто нужно вывести $ info.
Из документов ( realpath ):
Если используются опции, эта функция будет возвращать строку, если не все элементы запрошены.
При обращении к $info['extension'];
происходит доступ к первому символумассива строк.
Благодаря комментарию Тима Купера.Значение (int)'extension'
равно 0. В документации по типу String в разделе «Доступ к строкам и их модификация по символам» описано, как к строкам можно обращаться как к массивам, в примечании, которое он упоминает:
Нецелые типы преобразуются в целые.