Hướng dẫn is integer a string php? - số nguyên có phải là một chuỗi 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

14 năm trước

false0

false1

false2

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

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ột số nguyên là một chuỗi?

Integer là một giá trị số, trong khi chuỗi là một giá trị ký tự được biểu thị trong các trích dẫn., while String is a character value represented in quotes.

Làm thế nào kiểm tra xem chuỗi là số nguyên PHP?

Hàm is_numeric () kiểm tra xem một biến là số hoặc chuỗi số.Hàm này trả về true (1) nếu biến là số hoặc chuỗi số, nếu không nó sẽ trả về false/không có gì.is_numeric() function checks whether a variable is a number or a numeric string. This function returns true (1) if the variable is a number or a numeric string, otherwise it returns false/nothing.

Kiểu dữ liệu số nguyên trong PHP là gì?

Số nguyên PHP Một loại dữ liệu số nguyên là một số không phân giải trong khoảng -2,147,483,648 đến 2.147.483.647.Quy tắc cho số nguyên: Một số nguyên phải có ít nhất một chữ số.Một số nguyên không được có một điểm thập phân.Một số nguyên có thể là tích cực hoặc âm.a non-decimal number between -2,147,483,648 and 2,147,483,647. Rules for integers: An integer must have at least one digit. An integer must not have a decimal point. An integer can be either positive or negative.

Chuỗi có phải là số PHP không?

Để kiểm tra xem chuỗi đã cho có phải là số hay không, hãy sử dụng hàm tích hợp php is_numeric ().is_numeric () lấy chuỗi làm đối số và trả về true nếu chuỗi là tất cả các số, nếu không nó sẽ trả về sai.use PHP built-in function is_numeric(). is_numeric() takes string as an argument and returns true if the string is all numbers, else it returns false.