У меня есть строка, и я хочу ее закодировать, чтобы я мог проверить, является ли каждый символ буквой или номером.
$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"; } }
Как проверить, является ли символ буквой или номером?
Чтобы проверить, является ли символ is_numeric
, используйте:
is_numeric($a[$i-1])
Как показано ниже:
$s = "rfewr545 345b"; for ($i = 1; $i <= strlen($s); $i++){ $char = $a[$i-1]; if (is_numeric($char)) { echo $char . ' is a number'; } else { echo $char . ' is a letter'; } }
Вы можете использовать:
ctype_digit
а также
ctype_alpha
С помощью регулярных выражений вы можете попробовать следующее.
Тест на число
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 как условия в блоках.
посещение:
Функции PHP char
например, ctype_digit возвращает true, если число является числовым.
Вы можете использовать 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 ?>