Hàm gettype() trong PHP

Hàm gettype() trong PHP
Hàm gettype() trong PHP

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

Hàm gettype() trong PHP dùng để kiểm tra kiểu dữ liệu của một biến, kiểu đó bao gồm: integer, string, array, object, double, NULL, boolean,...

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

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

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

$kết_quả: Trả về kết quả là kiểu dữ liệu của biến.

Code Hàm gettype() trong PHP

<?php 
$bienint = 35;
echo gettype($bienint)."<br>"; // integer

$bienstr =  "Chạy thử Code Hàm gettype() trong PHP";
echo gettype($bienstr)."<br>"; // string

$bienmang = array("Lực","Vân","Quỳnh");
echo gettype($bienmang)."<br>"; // array

$object = new stdClass();
echo gettype($object)."<br>"; // object

$biendouble = 3.5;
echo gettype($biendouble)."<br>"; // double

$biennull = NULL;
echo gettype($biennull)."<br>"; // NULL

$bienboolean = true;
echo gettype($bienboolean)."<br>"; // boolean
?>

Kết quả:

integer
string
array
object
double
NULL
boolean

Chạy Thử

Những trường hợp nên dùng gettype() trong PHP

gettype() phù hợp khi cần xác định nhanh kiểu dữ liệu hiện tại của một biến. Trong thực tế, hàm này hữu ích nhất ở những đoạn xử lý mà dữ liệu có thể thay đổi kiểu hoặc đến từ nhiều nguồn khác nhau.

Kiểm tra kiểu dữ liệu trước khi xử lý biến

Trước khi thực hiện phép tính, nối chuỗi hoặc xử lý một giá trị theo cách cụ thể, có thể dùng gettype() để biết biến đang thuộc kiểu nào. Cách này giúp hạn chế việc xử lý sai dữ liệu, đặc biệt khi biến có thể nhận nhiều loại giá trị.

<?php
$value = 25;

echo gettype($value);
?>

Kết quả cho biết biến $value đang thuộc kiểu integer. Từ thông tin này, chương trình có thể lựa chọn cách xử lý phù hợp thay vì giả định kiểu dữ liệu ngay từ đầu.

Phân biệt dữ liệu nhận từ form và API

Dữ liệu lấy từ biểu mẫu hoặc API không phải lúc nào cũng có kiểu dữ liệu giống với giá trị mà chương trình mong muốn. Việc kiểm tra kiểu trước khi xử lý giúp phát hiện những trường hợp dữ liệu không đúng cấu trúc dự kiến.

<?php
$data = $_POST['amount'] ?? null;

echo gettype($data);
?>

Trong trường hợp này, gettype() có thể hỗ trợ kiểm tra nhanh giá trị nhận được đang là chuỗi, số, mảng hay một kiểu dữ liệu khác. Tuy nhiên, việc kiểm tra kiểu chỉ nên là một bước trong quá trình xác thực dữ liệu, không thay thế cho việc kiểm tra tính hợp lệ và bảo mật đầu vào.

Kết hợp gettype() với điều kiện trong PHP

Có thể kết hợp gettype() với câu lệnh điều kiện khi một biến cần được xử lý theo từng kiểu dữ liệu khác nhau. Cách này phù hợp với các đoạn mã có đầu vào linh hoạt.

<?php
$value = 'Web Moi';

if (gettype($value) === 'string') {
    echo 'Dữ liệu là chuỗi';
} else {
    echo 'Kiểu dữ liệu khác';
}
?>

So sánh bằng === giúp xác định chính xác chuỗi kiểu dữ liệu mà gettype() trả về. Khi logic kiểm tra chỉ cần biết một giá trị có phải kiểu cụ thể hay không, các hàm kiểm tra kiểu chuyên biệt như is_string() hoặc is_int() thường dễ đọc hơn.

Khi nào nên dùng gettype() thay vì kiểm tra kiểu dữ liệu khác?

gettype() thích hợp khi cần lấy tên kiểu dữ liệu để quan sát, ghi log hoặc xử lý nhiều trường hợp trong cùng một luồng. Nếu chỉ cần kiểm tra một kiểu cụ thể, nên ưu tiên các hàm như is_string(), is_int(), is_array() hoặc is_object() để mã nguồn rõ ý định hơn.

Vì vậy, không nên sử dụng gettype() cho mọi tình huống kiểm tra dữ liệu. Hãy chọn cách kiểm tra dựa trên mục đích của đoạn mã: cần biết chính xác tên kiểu thì dùng gettype(), còn chỉ cần xác nhận một kiểu cụ thể thì hàm kiểm tra tương ứng thường là lựa chọn gọn và dễ bảo trì hơn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm gettype() 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 gettype() 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) !