【问题标题】:Check if first character of a string is letter or number in PHP? [duplicate]检查字符串的第一个字符是PHP中的字母还是数字? [复制]
【发布时间】:2015-05-16 08:41:55
【问题描述】:

有没有办法检查字符串的第一个字符是字母还是数字?我不确定要使用什么功能。有没有办法检查不使用正则表达式,因为我们还没有在我的课堂上学到这一点。

【问题讨论】:

标签: php


【解决方案1】:

我鼓励您阅读更多关于strings in 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)。
【解决方案2】:

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

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

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

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

这应该会让您非常接近您正在寻找的内容,具体取决于您对“字母”的定义有多严格。我猜你的意思是“非数字”。

【讨论】:

  • 是字母还是数字 OP想检查是字母还是数字
  • 是特殊字符,例如 #*!@#$% 应该在字符串中。
  • @HemantMaurya 当然这些是完全有效的字符串字符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 2017-02-27
  • 2020-07-15
相关资源
最近更新 更多