PHP float đến int

Chuyển đổi một số float thành một số nguyên thường liên quan đến việc mất giá trị phân số của số float. Ví dụ:

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
1, một số float, sẽ là
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
2 khi được chuyển đổi thành số nguyên. Trong các ngôn ngữ lập trình được nhập động như PHP, đôi khi việc chuyển đổi này là ngoài ý muốn và không mong muốn

PHP đang dần cải thiện các quy tắc của quy tắc cưỡng chế kiểu động của nó để dễ dự đoán và trực quan hơn. PHP8. 0 có các cải tiến như cải tiến chuyển đổi

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 sang
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
4 độc lập với ngôn ngữ và so sánh chuỗi số

Từ PHP8. 1, thông báo không dùng nữa được phát ra khi giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 bị ép buộc hoàn toàn thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6 và làm mất giá trị phân số trong quá trình. Thông báo ngừng sử dụng này không được phát ra khi giá trị float được chuyển đổi rõ ràng thành số nguyên

Hành vi của các loại nghiêm ngặt không thay đổi. Khi Strict Typing được bật, PHP tiếp tục đưa ra một ngoại lệ

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
7 đối với mọi kiểu ép buộc ngầm định. Hơn nữa, việc truyền rõ ràng tới các số nguyên (_______08) hoặc và các hàm
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
9 không bị ảnh hưởng


Các thông báo không dùng nữa được phát ra khi PHP ngầm ép giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
1

Trong đoạn mã trên, hàm

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
22 được khai báo với kiểu trả về
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6. Khi một giá trị float chẳng hạn như
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
1 được trả về, PHP sẽ tự động chuyển đổi nó thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6 khi tính năng Nhập chính xác không được bật

gọi

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
22 trong PHP 8. 1 trở lên dẫn đến thông báo ngừng sử dụng PHP

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
7____0

PHP Deprecated: Implicit conversion from float-string "6.8" to int loses precision in .. on line ...3 phím mảng

Mảng trong PHP phải được khóa bởi các giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
4 hoặc
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6. Các loại khóa không hợp lệ, chẳng hạn như đối tượng,
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
20,
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
21, Enums và
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
22 là bất hợp pháp và dẫn đến lỗi
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
7. Tuy nhiên, giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 được xử lý khác nhau

Khi sử dụng giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 làm khóa mảng, nó sẽ âm thầm bị ép thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6. Đây là trường hợp ngay cả khi Loại nghiêm ngặt được bật

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
2
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
2

Lưu ý cách

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
27 được tạo với các giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
29,
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
40 và
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
41. Bởi vì PHP ép buộc chúng âm thầm với
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6, nên
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
27 cuối cùng chỉ giữ khóa/giá trị mảng cuối cùng

Trong PHP8. 1, đoạn mã trên phát ra thông báo không dùng nữa một cách hữu ích

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
4

Lưu ý rằng có thể sử dụng các chuỗi số làm khóa mảng

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
9
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
0

Chuỗi số nổi

Việc không dùng nữa này cũng áp dụng cho các chuỗi float số, khi giá trị phải là giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
2
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3

Trong đoạn mã trên,

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
45 là một chuỗi số có chứa số thực hợp lệ. PHP vẫn đánh giá hoạt động bit-khôn ngoan này bằng cách chuyển đổi
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
4 thành
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6. Thông báo ngừng sử dụng mới cũng được phát ra ở đây vì hoạt động bit-khôn ngoan hiệu quả bằng với

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
70

Một ví dụ khác về thông báo ngừng sử dụng này là toán tử modulo (

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
48)

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
71
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
72

Rõ ràng PHP Deprecated: Implicit conversion from float-string "6.8" to int loses precision in .. on line ...6 đúc

Lưu ý rằng việc truyền rõ ràng giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6 không phát ra thông báo không dùng nữa, ngay cả khi nó cũng mất phần phân số của giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
73

PHP Deprecated: Implicit conversion from float-string "6.8" to int loses precision in .. on line ...3 giá trị không có phân số

Nếu giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 bị ép buộc hoàn toàn không chứa phần phân số, thì sẽ không có thông báo phản đối

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
74

Tránh thông báo khấu hao

Thông báo ngừng sử dụng nhằm ngăn chặn việc mất phần phân số của các giá trị float ngoài ý muốn. Chuyển đổi rõ ràng các số float thành một số nguyên làm cho ý định có thể nhìn thấy được từ mã PHP

Có hai cách tiếp cận chuyển đổi giá trị

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 thành giá trị
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6

  • Truyền tới một giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    6. Khi giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3 được chuyển thành giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    6, nó sẽ mất phần phân số của số, bất kể giá trị là gì.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    75

    Lưu ý cách

    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    00 bị mất khi
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    01 được chuyển thành
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    6. Hành vi này khác với hàm
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    03, luôn làm tròn xuống số nguyên gần nhất

  • Làm tròn đến
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    6 gần nhất. Sử dụng hàm
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    05, có thể làm tròn giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3 thành số nguyên gần nhất. Nó làm tròn một
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3 đã cho đến một độ chính xác nhất định và trả về một giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3. Đặt độ chính xác thành
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    09 (giá trị mặc định của tham số).
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    76

    Hàm

    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    20 trả về giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3 (
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    22 từ ví dụ), giá trị này sau đó được truyền thành giá trị
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    6 với phép truyền
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    24


Tác động tương thích ngược

Các bản sửa lỗi để tránh và sửa các thông báo không dùng nữa cũng phải tương thích với các phiên bản PHP cũ hơn. Các quy tắc thực tế của chuyển đổi

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
3 thành
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
6 không bị thay đổi trong PHP 8. 1, nhưng những chuyển đổi như vậy sẽ dẫn đến ngoại lệ
PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
7 trong PHP 9. 0 trở lên

Các chức năng sau bị ảnh hưởng

  • Mảng có khóa
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    3. Các chuỗi số có chứa số float được cho phép
  • Các loại tham số, loại trả về và loại thuộc tính
  • Toán tử khôn ngoan.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    29/
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    30,
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    31/
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    32,
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    33/
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    34. e. g.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    77
  • Toán tử mô đun (
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    48). e. g.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    78
  • Toán tử dịch chuyển bit.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    36 và
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    37. e. g.
    PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
    79

Khi làm việc với các giá trị động cho các khóa mảng, chuyển chúng sang một

PHP Deprecated:  Implicit conversion from float-string "6.8" to int loses precision in .. on line ...
4 một cách rõ ràng có thể là cách tiếp cận tốt hơn

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

PHP Truyền chuỗi và số float thành số nguyên . The (int), (integer), or intval() function are often used to convert a value to an integer.

Bạn có thể chuyển đổi float thành int không?

Một giá trị float có thể được chuyển đổi thành một giá trị int không lớn hơn giá trị đầu vào bằng cách sử dụng phép toán. hàm floor() , trong khi nó cũng có thể được chuyển đổi thành giá trị int là số nguyên nhỏ nhất lớn hơn giá trị đầu vào bằng toán học. chức năng trần(). Mô-đun toán học sẽ được nhập để sử dụng các phương thức này.

Làm cách nào để chuyển đổi số thập phân thành số nguyên trong PHP?

intval("81"); Và lấy lại số nguyên 81.

Làm cách nào để trả về giá trị float trong PHP?

Hàm floatval() trả về giá trị float của một biến.