Hướng dẫn how check if string is integer php? - làm thế nào để kiểm tra xem 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

<?php
$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

<?php
$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

<?php
$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 ¶

<?php
$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

<?php
$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

<?php
$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 ¶

<?php
$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

<?php
$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

<?php
$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à một số nguyên?

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 để bạn kiểm tra xem giá trị có phải là số nguyên trong PHP không?

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

Làm thế nào để bạn biết nếu một chuỗi là int hoặc gấp đôi?

Cách dễ nhất để kiểm tra xem một chuỗi có phải là số hay không là bằng cách sử dụng một trong các phương thức Java tích hợp sau:..
Số nguyên.ParseInt ().
Số nguyên.giá trị của().
Kép.Parsedouble ().
Trôi nổi.parsefloat ().
Dài.Parselong ().

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.