在PHP中检查字符串是否以数字开头

在PHP中检查字符串是否以数字开头,php,string,numbers,Php,String,Numbers,可能重复: 我正在尝试实现下面的功能。这里最好使用某种类型的正则表达式吗?我也需要捕捉数字 function startsWithNumber($string) { $startsWithNumber = false; // Logic return $startsWithNumber; } 您可以使用和: 附加的strlen是必需的,因为php5.1之前的空字符串的ctype\u digit返回true 或者,如果希望使用正则表达式: function startsWith

可能重复:

我正在尝试实现下面的功能。这里最好使用某种类型的正则表达式吗?我也需要捕捉数字

function startsWithNumber($string) {
  $startsWithNumber = false;

  // Logic

  return $startsWithNumber;
}
您可以使用和:

附加的
strlen
是必需的,因为php5.1之前的空字符串的
ctype\u digit
返回true

或者,如果希望使用正则表达式:

function startsWithNumber($str) {
    return preg_match('/^\d/', $str) === 1;
}

类似这样的东西可能对你有用:

function str2int($string) {
  $length = strlen($string);   
  for ($i = 0, $int = ''; $i < $length; $i++) {
    if (is_numeric($string[$i]))
        $int .= $string[$i];
     else break;
  }

  return (int) $int;
}
函数str2int($string){
$length=strlen($string);
对于($i=0,$int='';$i<$length;$i++){
if(是数值($string[$i]))
$int.=$string[$i];
否则就断了;
}
返回(整数)$int;
}

这一问题与您上一个问题完全相同:。你不认为这个问题的答案也能解决这个问题吗?不,请不要使用正则表达式检查字符串的单个字符。是的,不需要为此开始两个问题。我更喜欢这种方法。。非常简单这应该是公认的答案!谢谢你,帮了我很多忙!通过避免使用
strlen
substr
可以简化第一个解决方案,如下所示:
return$string!=''&&ctype_数字($string[0])
或另一个答案中的简单1行
preg_match
如果您只是查找第一个字符,字符串可以被视为字符数组。要访问第一个字符,可以在位置0处快速使用[]运算符。e、 g.
是数字($string[0])
function str2int($string) {
  $length = strlen($string);   
  for ($i = 0, $int = ''; $i < $length; $i++) {
    if (is_numeric($string[$i]))
        $int .= $string[$i];
     else break;
  }

  return (int) $int;
}