Hàm intval() trong PHP

Hàm intval() trong PHP
Hàm intval() trong PHP

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

Hàm intval() trong PHP dùng để chuyển đổi giá trị trong biến của các kiểu dữ liệu như: array, double, string, object, null, boolean,... sang số nguyên, kết quả trả về biến mới có giá trị là số nguyên và kiểu dữ liệu là string, hàm không làm thay đổi giá trị của biến gốc và kiểu dữ liệu của biến gốc.

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

$biến_mới = intval($biến_gốc);

$biến_gốc: Biến gốc chứa giá trị của một kiểu dữ liệu nào đó.

$biến_mới: Kết quả trả về biến mới với giá trị là số nguyên và kiểu dữ liệu là string, hàm này không làm thay đổi giá trị của biến gốc và kiểu dữ liệu của biến gốc.

Code Hàm intval() trong PHP

<h2>Hàm intval() biến giá trị trong kiểu dữ liệu double sang số nguyên</h2>
<?php 
$bien_double  = 35.6;

// Xem kiểu dữ liệu
echo gettype($bien_double)."<br>"; // Kết quả: double

// Chuyển sang số nguyên
echo $bien_moi = intval($bien_double)."<br>"; // Kết quả: 35

// Xem kiểu dữ liệu
echo gettype($bien_double)."<br>"; // Kết quả: double
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>


<h2>Hàm intval() biến giá trị trong kiểu dữ liệu array sang số nguyên</h2>
<?php 
$bien_array  = array("Vân","Lực","Quỳnh");

// Xem kiểu dữ liệu
echo gettype($bien_array)."<br>"; // Kết quả: array

// Chuyển sang số nguyên
echo $bien_moi = intval($bien_array)."<br>"; // Kết quả: 1

// Xem kiểu dữ liệu
echo gettype($bien_array)."<br>"; // Kết quả: array
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

<h2>Hàm intval() biến giá trị trong kiểu dữ liệu boolean sang số nguyên</h2>
<?php 
$bien_boolean  = true;

// Xem kiểu dữ liệu
echo gettype($bien_boolean)."<br>"; // Kết quả: boolean

// Chuyển sang số nguyên
echo $bien_moi = intval($bien_boolean)."<br>"; // Kết quả: 1

// Xem kiểu dữ liệu
echo gettype($bien_boolean)."<br>"; // Kết quả: boolean
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

<h2>Hàm intval() biến giá trị trong kiểu dữ liệu string sang số nguyên</h2>
<?php 
$bien_string  = "50";

// Xem kiểu dữ liệu
echo gettype($bien_string)."<br>"; // Kết quả: string

// Chuyển sang số nguyên
echo $bien_moi = intval($bien_string)."<br>"; // Kết quả: 50

// Xem kiểu dữ liệu
echo gettype($bien_string)."<br>"; // Kết quả: string
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

<h2>Hàm intval() biến giá trị trong kiểu dữ liệu NULL sang số nguyên</h2>
<?php 
$bien_null  = NULL;

// Xem kiểu dữ liệu
echo gettype($bien_null)."<br>"; // Kết quả: NULL

// Chuyển sang số nguyên
echo $bien_moi = intval($bien_null)."<br>"; // Kết quả: 0

// Xem kiểu dữ liệu
echo gettype($bien_null)."<br>"; // Kết quả: NULL
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

Kết quả:

/////Hàm intval() biến giá trị trong kiểu dữ liệu double sang số nguyên
double
35
double
string

/////Hàm intval() biến giá trị trong kiểu dữ liệu array sang số nguyên
array
1
array
string

/////Hàm intval() biến giá trị trong kiểu dữ liệu boolean sang số nguyên
boolean
1
boolean
string

/////Hàm intval() biến giá trị trong kiểu dữ liệu string sang số nguyên
string
50
string
string

/////Hàm intval() biến giá trị trong kiểu dữ liệu NULL sang số nguyên
NULL
0
NULL
string

Chạy Thử

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

intval() phù hợp khi chương trình cần đưa một giá trị về dạng số nguyên trước khi xử lý. Hàm này đặc biệt hữu ích với dữ liệu nhận từ biểu mẫu, URL hoặc những giá trị có thể không đúng kiểu dữ liệu mong muốn.

Chuyển dữ liệu từ form về số nguyên

Dữ liệu gửi từ form thường được PHP tiếp nhận dưới dạng chuỗi, ngay cả khi người dùng nhập một con số. Khi cần dùng giá trị đó cho phép tính, so sánh hoặc lưu vào trường dữ liệu dạng số nguyên, có thể sử dụng intval() để chuyển đổi.

<?php
$quantity = intval($_POST['quantity'] ?? 0);

echo $quantity;
?>

Cách này giúp chương trình có một giá trị số nguyên rõ ràng hơn trước khi tiếp tục xử lý. Tuy nhiên, intval() không thay thế cho bước kiểm tra dữ liệu. Nếu giá trị đầu vào phải nằm trong một khoảng nhất định, chương trình vẫn nên kiểm tra điều kiện sau khi chuyển đổi.

Xử lý giá trị nhận từ URL và tham số GET

Các tham số trên URL thường được PHP đọc qua $_GET và có thể chứa dữ liệu không đúng định dạng dự kiến. Khi tham số được sử dụng để xác định trang, số lượng bản ghi hoặc một giá trị dạng số nguyên, intval() có thể giúp chuẩn hóa dữ liệu trước khi sử dụng.

<?php
$page = intval($_GET['page'] ?? 1);

if ($page < 1) {
    $page = 1;
}

echo $page;
?>

Điểm quan trọng là chuyển đổi kiểu dữ liệu không đồng nghĩa với việc dữ liệu đã hợp lệ. Với các tham số ảnh hưởng đến truy vấn hoặc logic quan trọng, nên kết hợp thêm điều kiện kiểm tra phù hợp.

Kiểm soát dữ liệu số trước khi tính toán

Khi một phép tính phụ thuộc vào dữ liệu bên ngoài, việc chuyển giá trị về số nguyên trước khi tính toán giúp mã nguồn dễ kiểm soát kiểu dữ liệu hơn. Điều này hữu ích với các trường hợp như số lượng sản phẩm, số trang, điểm số hoặc bộ đếm.

<?php
$price = intval($_POST['price'] ?? 0);
$quantity = intval($_POST['quantity'] ?? 0);

$total = $price * $quantity;

echo $total;
?>

Trong thực tế, nên xem intval() là một bước chuẩn hóa dữ liệu chứ không phải cơ chế xác thực hoàn chỉnh. Nếu dữ liệu yêu cầu độ chính xác cao, có thể âm hoặc cần giữ phần thập phân, nên lựa chọn cách xử lý phù hợp thay vì ép toàn bộ giá trị thành số nguyên.

Lời kết

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