Как проверить переменную, содержит ли она вначале заданное число?
Добрый час, M4xwell.

Ваш $phone всегда нормирован?
Телефон может записываться совершенно различными способами (+7926..., +7(926)..., 8926, 8(926), 8 926)

Предположим, что да. В таком случае, $phone содержит 11 символов, начинающихся на "89".
План прост:

Формируем массив искомых значений (предполагаю, что все они по 4 символа).
Выделяем из $phone первые четыре символа с помощью метода substr и записываем в $phoneCode
Ищем совпадение $phoneCode в массиве искомых значений с помощью метода in_array.

<?php
$successCodes = ["8909", "8961", "8900"]; //Наполнить на свое усмотрение
$phone = "89091234567" // Заполняется динамически, в соответствии с вашей логикой приемки параметров
$phoneCode = substr($phone, 0, 4);
if (in_array($phoneCode, $successCodes)) {
  echo "Успех";
} else {
  echo "Неудача";
}
Вполне допускаю, что вам потребуется модифицировать перечень допустимых кодов. 
В этом случае, я рекомендовал бы вам положить значения в отдельную таблицу БД и искать уже в таблице БД совпадения с кодом.

Если параметр $phone приходит от пользователя в произвольном виде, вам необходимо будет его нормализовать или валидировать.

Также, приведенный здесь код не оформлен отдельным методом, что было бы целесообразно при организации кода вашего приложения с целью предоставления вам свободы выбора подхода к организации кода.

С уважением,
Олег Раев
CIO of Athanor
использовать регулярку
готовый пример https://regex101.com/r/MUHU9v/1

if(preg_match("#^(8909|8961|8966)[0-9]{6,14}$#", $phone) ){
     return $phone;
}else{
     return false;
}

регулярка для всевозможных мобильных кодов
^\+(91|994|82|372|375|374|44|998|972|66|90|81|1|507|7|77|380|371|370|996|9955|992|373|84)[0-9]{6,14}$