Мне нужно указать, начинается ли тип строки с 3 цифр, 3 букв или с комбинации. Строка, которую вводит пользователь.
Код у меня работает для букв и цифр, но не для комбинаций. Что я должен делать?
$type = substr($value, 0, 3);
if(is_numeric($type)){
echo 'starts with 3 digits';
}elseif(is_string($type)){
echo 'starts with 3 alphabetic characters';
}else{
echo 'undefined type?';
}
Ваши вызовы функций могут вернуть непредвиденные результаты. рекомендую ctype_
призывает к надежности:
$type = substr($value, 0, 3);
if(ctype_digit($type)){
echo 'starts with 3 digits';
}elseif(ctype_alpha($type)){
echo 'starts with 3 alphabetic characters';
}else{
echo 'undefined type?';
}
постскриптум Если вы хотите проверить, является ли подстрока комбинацией букв и цифр, вы можете ctype_alnum()
,
Других решений пока нет …