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

时间:2010-11-06 18:51:56

标签: php string numbers

  

可能重复:
  Check if a String Ends with a Number in PHP

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

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

  // Logic

  return $startsWithNumber;
}

2 个答案:

答案 0 :(得分:17)

您可以使用substrctype_digit

function startsWithNumber($string) {
    return strlen($string) > 0 && ctype_digit(substr($string, 0, 1));
}

只需要额外的strlen,因为ctype_digit会在PHP 5.1之前为空字符串返回 true

或者,如果您更想使用正则表达式:

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

答案 1 :(得分:5)

这样的事可能对你有用:

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;
}