Как я могу проверить, является ли символ буквой или числом?
У меня есть строка, и я хочу зациклить ее, чтобы я мог проверить, является ли каждый символ буквой или числом.
$s = "rfewr545 345b";
for ($i=1; $i<=strlen($s); $i++){
if ($a[$i-1] == is a letter){
echo $a[$i-1]." is a letter";
} else {
echo $a[$i-1]." is a number";
}
}
Как я могу проверить, является ли символ буквой или числом?
7 ответов
чтобы проверить, если символ is_numeric
использовать:
is_numeric($a[$i-1])
как показано ниже:
$s = "rfewr545 345b";
for ($i = 0; $i < strlen($s); $i++){
$char = $s[$i];
if (is_numeric($char)) {
echo $char . ' is a number';
} else {
echo $char . ' is a letter';
}
}
с регулярными выражениями вы можете попробовать следующее.
тест на число
if (preg_match('/\d/', $char)) :
echo $char.' is a number';
endif;
тест на "букву"
if (preg_match('/[a-zA-Z]/', $char)) :
echo $char.' is a letter';
endif;
преимущество этого подхода заключается главным образом в тесте" письмо", который позволяет эффективно определить, что составляет как символ "буквы". В этом примере основной английский алфавит определяется как"буква".
посмотреть этот: http://php.net/manual/en/function.is-numeric.php
if(Is_numeric($char)) {
//Do stuff
}
else {
//Do other stuff
}
вы можете сделать, используя is_numeric () функции
if (is_numeric($a[$i-1])){
echo $a[$i-1]." is a number";
} else {
echo $a[$i-1]." is a letter";
}
php предоставляет некоторую приятную функцию для проверки символов. Используйте функции apt как условия в блоках if.
на странице:
например ctype_digit возвращает true, если number является числовым.
вы можете использовать ctype_alpha для проверки алфавитных символов.
аналогично, вы можете использовать ctype_digit чтобы проверить наличие числовых символов.
is_numeric
- узнает, является ли переменная числом или числовой строкой
is_numeric()
пример:
<?php
$tests = array(
"42",
0b10100111001,
"not numeric",
array(),
9.1
);
foreach ($tests as $element) {
if (is_numeric($element)) {
echo "'{$element}' is numeric", PHP_EOL;
} else {
echo "'{$element}' is NOT numeric", PHP_EOL;
}
}
?>
приведенный выше пример выведет:
'42' is numeric
'1337' is numeric
'not numeric' is NOT numeric
'Array' is NOT numeric
'9.1' is numeric
здесь ctype_digit()
и is_numeric()
отличаются?
пример сравнения строк с целыми числами:
<?php
$numeric_string = '42';
$integer = 42;
ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 is the * character)
is_numeric($numeric_string); // true
is_numeric($integer); // true
?>