我整天都在阅读 php 代码,但我似乎无法找到我认为是一个简单问题的答案。
我有一个充满字符串的数组,我想看看字符串中的第一个字符是否是数字,然后用它做一些事情,例如:
if substr($stringArray[$i],0,1) == regexsomething[0-9]) { do stuff }
我把这一切都搞错了吗?
当然,我可以将正则表达式设置为 [^0-9] 以在开始时进行匹配,但 PHP preg_match 让我非常困惑。
任何建议都会很棒。
谢谢
括号外,^
表示“开始”,但紧跟在 a 之后[
,表示“反转整个班级”。/[^0-9]/
将匹配包含非数字的任何内容。匹配单个数字的正则表达式将是:
/^[0-9]$/
不过,PHP 已经为此提供了一个函数:is_numeric()
if ( is_numeric( substr( $stringArray[$i],0,1 ) ) ) { do stuff }
如果您想走正则表达式路线,则不需要获取第一个字符。匹配以数字开头的任何内容的正则表达式将是:
if ( preg_match( '/^[0-9]/', $stringArray[$i] ) ) { do stuff }
如果你想确保一个字符串是一个数字,你可以is_numeric
像这样使用:
if(is_numeric($string))
{
//Do Something
}
如果你想确保它是一个数字,7
你可以使用<
小于运算符
if(is_numeric($string) && $string < 10)
{
//Do Something
}