2010-11-06 30 views
6

thể trùng lặp:
Check if a String Ends with a Number in PHPKiểm tra xem một chuỗi bắt đầu với một số trong PHP

Tôi đang cố gắng để thực hiện các chức năng dưới đây. Nó sẽ là tốt nhất để sử dụng một số loại regex ở đây? Tôi cần phải nắm bắt số lượng quá.

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

    // Logic 

    return $startsWithNumber; 
} 
+2

chính xác bản sao của [Kiểm tra xem một chuỗi kết thúc với một số trong PHP] (http://stackoverflow.com/questions/4114609/check-if-a-string-ends-with-a-number-in-php) –

+0

Đây thực tế là câu hỏi giống như câu hỏi cuối cùng của bạn: http: //stackoverflow.com/questions/4114609/check-if-a-string-ends-with-a-number-in-php. Bạn không nghĩ rằng câu trả lời cho điều đó cũng sẽ giải quyết vấn đề này? Và không, xin vui lòng không sử dụng một regex để kiểm tra một ký tự duy nhất của một chuỗi. –

+0

Vâng, không cần phải bắt đầu hai câu hỏi cho việc này. –

Trả lời

5

Cái gì đó như để điều này có thể làm việc cho bạn:

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

Hoặc đơn giản 1 dòng 'preg_match' trong câu trả lời khác http://stackoverflow.com/a/4114620/1992193 –

+0

Nếu bạn chỉ tìm kiếm ký tự đầu tiên, các chuỗi có thể được xem như các mảng ký tự. Để truy cập ký tự đầu tiên, bạn có thể nhanh chóng sử dụng toán tử [] ở vị trí 0. ví dụ. 'is_numeric ($ string [0])' –

13

Bạn có thể sử dụng substrctype_digit:

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

Các thêm strlen chỉ được yêu cầu như ctype_digit lợi nhuận đúng cho một chuỗi rỗng trước khi PHP 5.1.

Hoặc, nếu bạn thay vì muốn sử dụng một biểu thức chính quy:

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

Tôi thích cách tiếp cận này nhiều hơn .. Rất đơn giản – user284503

Các vấn đề liên quan