在PHP中检查字符串的第一个字符是字母还是数字?

4

有没有一种方法可以检查字符串的第一个字符是字母还是数字?我不太确定要使用哪个函数。有没有一种不使用正则表达式的检查方法,因为我们在课堂上还没有学习过。


1
你尝试过什么吗? - Rizier123
2
@bcesars,这对问题有什么帮助? - Jonathan Kuhn
1
@JonathanKuhn 这个问题在SO上如何才能不过于宽泛或主要基于观点而被认为是有效的? - bcesars
获取第一个字符,然后检查它是否为数字。 - Rick Smith
2个回答

5
我鼓励你阅读更多关于PHP中字符串的内容。例如,您可以像数组一样对其进行解引用以获取单个字符。
$letters = 'abcd';
echo $letters[0];

还有一些ctype函数。请查看ctype_digit()和[ctype_alpha()}(http://php.net/manual/en/function.ctype-alpha.php)。

ctype_digit($letters[0]); // false
ctype_alpha($letters[0]); // true

把这些东西结合起来,你应该能够做到自己想要的。

如果字符串为空,将会抛出一个通知,因此请先检查!empty($string)。 - Ben in CA

4

您可以像使用数组索引一样访问字符串中的字符,因此$string[0]是第一个字符。

然后,您可以使用is_numeric来确定第一个字符是否为数字。

$word1 = "string";
$word2 = "12345";

var_dump(is_numeric($word1[0])); // false
var_dump(is_numeric($word2[0])); // true

根据您对“字母”的定义严格程度,这应该能够让您接近所需的结果。我猜您实际上是指“非数字字符”。


1
OP想要检查它是一个字母还是一个数字。 - Rizier123
特殊字符如 #*!@#$% 是否应该出现在字符串中? - Hemant Maurya
@HemantMaurya 确定,那些都是完全有效的字符串字符。 - jszobody

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接