Ваш код не будет работать как есть, так как он потерпит неудачу, если число будет первым символом в строке.(Вам нужно проверить $ numb_pos! == false перед substr.)
Независимо от того, если вы просто хотите проверить наличие числа в строке, что-то вроде следующего, вероятно, будет более эффективным.
$digitMatched = preg_match('/\\d/im', $vari);