Hàm gettype() trong PHP
Trần Thị Vân
- 1224
- 07/08/2025
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
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
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 *