我有一个字符串,我想循环播放,这样我可以检查每一个字符是字母或数字。
$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";
}
}
我如何检查是否一个字符是字母或数字?
我有一个字符串,我想循环播放,这样我可以检查每一个字符是字母或数字。
$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 = 0; $i < strlen($s); $i++){
$char = $s[$i];
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的功能在if块的条件。
访问:
PHP字符函数
例如,如果数字是数字ctype_digit返回true。
您可以使用而ctype_alpha检查字母字符(S)。
同样,你可以使用ctype_digit检查数字字符(S)。
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
?>