Hướng dẫn how do you check if a string is an integer php? - làm thế nào để bạn kiểm tra xem một chuỗi có phải là số nguyên php không?

Nếu bạn muốn thực sự biết liệu một chuỗi có phải là biểu diễn hợp lệ của loại số nguyên PHP thực sự không ...

in_array($string, array_map('strval', range(PHP_INT_MIN, PHP_INT_MAX)), true)

Tuy nhiên, điều này là không thể chạy vì tập hợp quá lớn (sẽ không phù hợp với bộ nhớ trong trường hợp này, nếu bạn lặp thay vào đó sẽ mất quá nhiều chu kỳ CPU).

Bạn có thể thực hiện tìm kiếm nhị phân với so sánh chuỗi, tuy nhiên có những cách tốt hơn.

Đơn giản nhất:

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string

Có một số cách khác thường để tiếp cận nó như:

is_int(array_keys([$string => null])[0])

Bạn cũng có thể thực hiện so sánh chuỗi nhưng bạn vẫn cần phải làm những việc như ctype_digit, kiểm tra độ dài là hợp lý (đừng lãng phí CPU trước khi làm những việc như ctype_digit) và có một số xử lý khó xử cho các số âm.

Lưu ý rằng Filter_VAR không khẳng định chính xác rằng một chuỗi thực sự là biểu diễn của số nguyên PHP. Nó sẽ cho phép một phần tử + và xung quanh khoảng trắng.

Bên trong PHP sử dụng hàm "_zend_handle_numeric_str" để so sánh nghiêm ngặt nhưng nó không trực tiếp phơi bày điều này ở bất cứ đâu, do đó, thủ thuật sử dụng các phím mảng (sử dụng nó để chuyển đổi bất kỳ chuỗi nào là biểu diễn của số nguyên PHP thành số nguyên PHP).

Nếu bạn muốn chuyển đổi an toàn nhị phân đến và từ PHP thì đây là cách tiếp cận.

Không phải ai cũng có thể muốn điều đó và nó có thể là một trường hợp xử lý đầu vào của người dùng. Filter_var không quá tệ cho điều đó và sẽ khá an toàn trong hầu hết các trường hợp đối với những người mới sử dụng PHP.

Kiểm tra độ dài, ctype_digit và sau đó kiểm tra giá trị được chuyển đổi mà nó nằm trong phạm vi cũng khá chắc chắn cho đầu vào của người dùng. Các sơ đồ phức tạp hơn có thể muốn cắt hoặc regex.

Vấn đề với rất nhiều câu trả lời ở đây về khía cạnh đó là trong khi câu hỏi mơ hồ, nhưng câu trả lời không nên có. Nếu bạn sẽ đề xuất một giải pháp, bạn sẽ có thể giải thích chính xác những gì nó sẽ và sẽ không mong đợi. Không có điều đó, không có câu trả lời nào phù hợp với một câu hỏi hoặc an toàn. Hướng dẫn sử dụng PHP không phải lúc nào cũng có ích vì nó không giải thích tất cả các cảnh báo cho từng phương pháp có liên quan mà nó cung cấp. Những thứ như ctype_digit và is_int rất đáng tin cậy và dễ dàng để dự đoán nhưng các chi tiết cụ thể của is_numeric, filter_var và tung hứng (+$ var) hoặc casting (intval/floatval) được ghi lại kém.

Đây là php fudge cho bạn. Nó có vô số lược đồ để giải thích các chuỗi là số nguyên, với sự không nhất quán. Phương pháp nghiêm ngặt nhất để xác thực một chuỗi số nguyên không được tiếp xúc trực tiếp với người dùng.

(Php 4, Php 5, Php 7, Php 8)

IS_INT - Tìm xem loại biến có số nguyên khôngFind whether the type of a variable is integer

Sự mô tả

is_int (hỗn hợp $value): bool(mixed $value): bool

Ghi chú::

Để kiểm tra xem một biến là số hoặc chuỗi số (chẳng hạn như đầu vào biểu mẫu, luôn luôn là một chuỗi), bạn phải sử dụng is_numeric ().is_numeric().

Thông số

value

Biến được đánh giá.

Trả về giá trị

Trả về true nếu value là int, false nếu không.true if value is an int, false otherwise.

Ví dụ

Ví dụ #1 is_int () ví dụis_int() example

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>

Ví dụ trên sẽ xuất ra:

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

Xem thêm

  • is_bool () - Tìm hiểu xem một biến có phải là boolean
  • is_float () - Tìm liệu loại biến có nổi không
  • is_numeric () - Tìm một biến là số hay chuỗi số
  • is_String () - Tìm loại biến là chuỗi
  • is_array () - Tìm xem một biến có phải là một mảng không
  • is_Object () - Tìm xem một biến có phải là một đối tượng

Simon Neaves ¶

14 năm trước

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
0

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
1

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

12 năm trước

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
3

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
4

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
5

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
6

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
7

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

E Dot Sand tại Elisand Dot Com ¶

13 năm trước

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
9

is_int(array_keys([$string => null])[0])
0

is_int(array_keys([$string => null])[0])
1

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Andre Dot Roesti ở 7Flex DOT NET ¶

12 năm trước

is_int(array_keys([$string => null])[0])
3

is_int(array_keys([$string => null])[0])
4

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

E Dot Sand tại Elisand Dot Com ¶

13 năm trước

is_int(array_keys([$string => null])[0])
6

is_int(array_keys([$string => null])[0])
7

is_int(array_keys([$string => null])[0])
8

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Andre Dot Roesti ở 7Flex DOT NET ¶

Davide Dot Renzi tại Gmail Dot Com ¶

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

0

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

1

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

6 năm trước

Davide Dot Renzi tại Gmail Dot Com ¶

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

4

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

5

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

6 năm trước

13 năm trước

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

7

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

8

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

9

$value0

Andre Dot Roesti ở 7Flex DOT NET ¶

Davide Dot Renzi tại Gmail Dot Com ¶

$value1

$value2

$value3

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

6 năm trước

13 năm trước

$value5

$value6

$value7

$value8

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Andre Dot Roesti ở 7Flex DOT NET ¶

Davide Dot Renzi tại Gmail Dot Com ¶

value0

value1

value2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

6 năm trước

14 năm trước

value4

value5

value6

value7

value8

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

true0

12 năm trước

E Dot Sand tại Elisand Dot Com ¶

true1

true2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

13 năm trước

14 năm trước

true4

true5

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

true7

12 năm trước

Davide Dot Renzi tại Gmail Dot Com ¶

true8

true9

value0

value1

value2

value3

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

6 năm trước

petepostma tại gmail dot spam dot com ¶

value5

value6

value7

value8

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

10 năm trước

13 năm trước

false0

false1

false2

Andre Dot Roesti ở 7Flex DOT NET ¶

14 năm trước

false3

false4

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

false6

false7

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

12 năm trước

13 năm trước

false9

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
0

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
1

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Andre Dot Roesti ở 7Flex DOT NET ¶

Davide Dot Renzi tại Gmail Dot Com ¶

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
3

6 năm trước

13 năm trước

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
4

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
5

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

Robin ¶

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
7

12 năm trước

12 năm trước

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
8

$values = array(23"23"23.5"23.5"nulltruefalse);
foreach (
$values as $value) {
    echo 
"is_int(";
    
var_export($value);
    echo 
") = ";
    
var_dump(is_int($value));
}
?>
9

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
00

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
01

E Dot Sand tại Elisand Dot Com ¶

petepostma tại gmail dot spam dot com ¶

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
02

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
03

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Robin ¶

petepostma tại gmail dot spam dot com ¶

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
05

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
06

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
07

strlen($string) <= max(strlen((string)PHP_INT_MIN), strlen((string)PHP_INT_MAX)) && $string === (string)(int)$string
2

Làm thế nào để bạn kiểm tra xem một chuỗi là số nguyên hay giá trị?

Có lẽ cách dễ nhất và đáng tin cậy nhất để kiểm tra xem một chuỗi có phải là số hay không là bằng cách phân tích cú pháp nó bằng các phương thức tích hợp của Java:..
Số nguyên. ParseInt (chuỗi).
Trôi nổi. parsefloat (chuỗi).
Kép. Parsedouble (chuỗi).
Dài. Parselong (chuỗi).
BigInteger mới (chuỗi).

Làm thế nào kiểm tra chuỗi là giá trị hay không trong PHP?

Hàm is_String () kiểm tra xem một biến có thuộc loại loại hay không.Hàm này trả về true (1) nếu biến thuộc loại loại, nếu không nó sẽ trả về sai/không có gì.is_string() function checks whether a variable is of type string or not. This function returns true (1) if the variable is of type string, otherwise it returns false/nothing.

Làm thế nào để bạn kiểm tra xem một chuỗi có trong một chuỗi PHP không?

Bạn có thể sử dụng hàm Php Strpos () để kiểm tra xem một chuỗi có chứa một từ cụ thể hay không.Hàm strpos () trả về vị trí của lần xuất hiện đầu tiên của chuỗi con trong một chuỗi.Nếu chất nền không được tìm thấy, nó sẽ trả về sai.use the PHP strpos() function to check whether a string contains a specific word or not. The strpos() function returns the position of the first occurrence of a substring in a string. If the substring is not found it returns false .

Làm cách nào để chuyển đổi một chuỗi thành một số nguyên trong PHP?

Số chuỗi cũng có thể được chuyển đổi thành một số nguyên hoặc float bằng cách thêm 0 với chuỗi.Trong PHP, thực hiện các hoạt động toán học, chuỗi được chuyển đổi thành một số nguyên hoặc nổi một cách ngầm.tiếng vang $ num + 0,1;?>adding 0 with the string. In PHP, performing mathematical operations, the string is converted to an integer or float implicitly. echo $num + 0.1; ?>