Но для больших массивов номеров разных операторов лучше всё1 же делать запрос в базу
Вот тут соглашусь, если большая база, конечно. А если там пять-шесть префиксов, зачем для этого еще и скрипт клепать и базу прикручивать? На будущее или для самоудовлетворения.
В корне не верно дважды.
Это понятно, что шаблон можно составить чуть конкретнее, я лишь привел пример максимально упрощенного варианта.