Hàm is_float() trong PHP

Hàm is_float() trong PHP
Hàm is_float() trong PHP

Chức năng của Hàm is_float() trong PHP

Hàm is_float() trong PHP dùng để kiểm tra kiểu dữ liệu của biến truyền vào có phải là kiểu dữ liệu số thực (float) hay không, nếu phải thì trả về true, nếu không phải thì trả về false.

Cú pháp của Hàm is_float() trong PHP

$kết_quả = is_float($biến_dữ_liệu);

$biến_dữ_liệu: Biến chứa dữ liệu.

$kết_quả: Nếu kiểu dữ liệu của biến là kiểu dữ liệu số thực (float) thì trả về true, nếu kiểu dữ liệu của biến không phải là kiểu dữ liệu số thực (float) thì trả về false.

Code Hàm is_float() trong PHP

<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu số thực (float) hay không</h2>
<?php
$bienthapphan = 35.5;

if(is_float($bienthapphan)){
 echo 'Biến $bienthapphan thuộc kiểu dữ liệu số thực (float) <br>';
}else{
  echo 'Biến $bienthapphan không thuộc kiểu dữ liệu số thực (float) <br>';
}
// Kết quả: Biến $bienthapphan thuộc kiểu dữ liệu số thực (float)
?>

<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu số thực (float) hay không</h2>
<?php
$bienchuoi = "Web Mới";

if(is_float($bienchuoi)){
 echo 'Biến $bienchuoi thuộc kiểu dữ liệu số thực (float) <br>';
}else{
  echo 'Biến $bienchuoi không thuộc kiểu dữ liệu số thực (float) <br>';
}
// Kết quả: Biến $bienchuoi không thuộc kiểu dữ liệu số thực (float)
?>

<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu số thực (float) hay không</h2>
<?php 
$mang = array("Lực","Vân","Quỳnh");

if(is_float($mang)){
 echo 'Biến $mang thuộc kiểu dữ liệu số thực (float) <br>';
}else{
  echo 'Biến $mang không thuộc kiểu dữ liệu số thực (float) <br>';
}
// Kết quả: Biến $mang không thuộc kiểu dữ liệu số thực (float)
?>

<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu số thực (float) hay không</h2>
<?php
$biensonguyen = 35;

if(is_float($biensonguyen)){
 echo 'Biến $biensonguyen thuộc kiểu dữ liệu số thực (float) <br>';
}else{
  echo 'Biến $biensonguyen không thuộc kiểu dữ liệu số thực (float) <br>';
}
// Kết quả: Biến $biensonguyen không thuộc kiểu dữ liệu số thực (float)
?>

<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu số thực (float) hay không</h2>
<?php
$nhanVien = (object) [
    'ten' => 'Bùi Tấn Lực',
    'tuoi' => '35'
];

if(is_float($nhanVien)){
 echo 'Biến $nhanVien thuộc kiểu dữ liệu số thực (float) <br>';
}else{
  echo 'Biến $nhanVien không thuộc kiểu dữ liệu số thực (float) <br>';
}
// Kết quả: Biến $nhanVien không thuộc kiểu dữ liệu số thực (float)
?>

Kết quả:

/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu số thực (float) hay không
Biến $bienthapphan thuộc kiểu dữ liệu số thực (float)

/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu số thực (float) hay không
Biến $bienchuoi không thuộc kiểu dữ liệu số thực (float)

/////Kiểm tra biến mảng thuộc kiểu dữ liệu số thực (float) hay không
Biến $mang không thuộc kiểu dữ liệu số thực (float)

/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu số thực (float) hay không
Biến $biensonguyen không thuộc kiểu dữ liệu số thực (float)

/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu số thực (float) hay không
Biến $nhanVien không thuộc kiểu dữ liệu số thực (float)

Chạy Thử

Những trường hợp cần lưu ý khi sử dụng hàm is_float() trong PHP

Khi sử dụng is_float(), cần chú ý rằng hàm này kiểm tra kiểu dữ liệu hiện tại của giá trị thay vì xác định giá trị đó có mang nội dung giống một số thực hay không. Vì vậy, một chuỗi chứa số thập phân vẫn có thể nhận kết quả false nếu dữ liệu chưa được chuyển sang kiểu float.

is_float() không chuyển đổi dữ liệu sang kiểu float

is_float() chỉ thực hiện kiểm tra và không tự thay đổi kiểu dữ liệu của biến. Chẳng hạn, giá trị 12.5 được khai báo dưới dạng số thực sẽ được nhận diện là float, trong khi chuỗi "12.5" vẫn là string.

Nếu dữ liệu đầu vào đang ở dạng chuỗi nhưng cần xử lý như số thực, cần chuyển đổi kiểu dữ liệu trước khi kiểm tra hoặc tính toán. Điều này đặc biệt quan trọng khi nhận dữ liệu từ biểu mẫu, tệp hoặc nguồn bên ngoài.

Phân biệt is_float() với is_numeric() trong PHP

is_float()is_numeric() phục vụ hai mục đích khác nhau. is_float() quan tâm đến kiểu dữ liệu float thực tế, còn is_numeric() kiểm tra một giá trị có được xem là dữ liệu số hay không.

Do đó, nếu mục tiêu là xác định biến có đúng kiểu float hay không, nên dùng is_float(). Nếu cần kiểm tra dữ liệu nhập vào có thể được sử dụng như một giá trị số, is_numeric() thường phù hợp hơn.

Số nguyên và số thập phân có cách kiểm tra khác nhau

Trong PHP, số nguyên và số thực là hai kiểu dữ liệu riêng biệt. Một giá trị không có phần thập phân có thể vẫn là số nguyên, vì vậy is_float() sẽ trả về false khi biến thuộc kiểu integer.

Điều này cần được lưu ý khi xây dựng điều kiện xử lý dữ liệu. Không nên chỉ dựa vào hình thức của con số để suy ra kiểu dữ liệu mà cần kiểm tra đúng kiểu mà PHP đang lưu trữ.

Giá trị số thập phân được lưu dưới dạng chuỗi có được xem là float không?

Không. Một giá trị như "25.75" nếu được lưu trong chuỗi vẫn thuộc kiểu string, dù nội dung của nó có dạng số thập phân. Vì vậy, truyền trực tiếp giá trị này vào is_float() sẽ không cho kết quả true.

Nếu ứng dụng nhận số thập phân dưới dạng chuỗi và cần xử lý dưới kiểu float, hãy chuyển đổi dữ liệu trước khi thực hiện các thao tác phù hợp.

<?php
$giaTri = "25.75";

$giaTri = (float) $giaTri;

if (is_float($giaTri)) {
echo "Dữ liệu có kiểu float";
}
?>

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm is_float() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm is_float() trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !