Nếu bạn là người đang học Php thì isset()
và empty()
là 2 hàm cực kỳ quan trọng giúp chúng ta có thể kiểm tra các biến dữ liệu phục vụ cho quá trình xử lý. Gần đây có bạn hỏi nên tôi quyết định viết bài này để hướng dẫn bạn cách sử dụng nó trong thực tế.
Hàm isset() trong Php
Đây là hàm kiểm tra một biến dữ liệu có xác định và khác NULL hay không?
Cú pháp
isset ( $var [, $var_2,.. ] )
Input: $var
Là biến dữ liệu cần kiểm tra
Output: Hàm tra về FALSE
nếu biến chưa xác định hoặc đang mang giá trị NULL
.
Ví dụ hàm isset() trong Php
Hàm isset()
thường được dùng trong quá trình kiểm tra một phần tử của mảng đã tồn tại hay chưa để thực thi viện xử lý dữ liệu liên quan đến nó.
Ví dụ như kiểm tra xem người dùng đã nhấn vào nút submit form hay chưa?
<?php
if(isset($_POST['login'])){
// Code xử lý khi người dùng nhấn vào nút login form
}
?>
Hàm empty() trong Php
empty()
là hàm giúp kiểm tra một biến có rỗng hay không.
Cú pháp:
empty($var)
Input: $var
là biến cần kiểm tra dữ liệu rỗng
Output: Hàm trả về TRUE
nếu $var
không xác định hoặc mang giá trị FALSE
.
Các trường hợp biến có giá trị FALSE
- “” (một chuỗi trống)
- 0 (0 là số nguyên)
- 0.0 (0 là số thực)
- “0” (0 là một chuỗi)
- NULL
- FALSE
- array() (Một mảng trống)
Rõ ràng hàm empty()
giúp kiểm tra sâu vào dữ liệu hơn và rất thích hợp với chuẩn hóa dữ liệu form(validation form).
Giả sử nếu hệ thống yêu cầu người không được để trống một trường nào đó thì empty sẽ làm việc kiểm tra và đưa ra thông báo như code bên dưới.
<?php
if(isset($_POST['login'])){
if(empty($_POST['username'])) {
echo "Bạn không được bỏ trống trường Username";
}else{
$username = $_POST['username'];
}
if(empty($_POST['password'])) {
echo "Bạn không được bỏ trống trường Password";
}else{
$password = $_POST['password'];
}
}
?>
Một điều rất quan trọng nữa hàm empty()
thường làm việc với mảng. Vì đôi khi anh em lập trình chúng ta sử dụng những thao tác liên quan đến mảng, nếu như phần tử cần làm việc chưa tồn tại trong thì chương trình sẽ sẽ bị báo lỗi.
Ví dụ nếu muốn duyệt mảng trước hết cần có thao tác kiểm tra mảng có dữ liệu hay không.
<?php
if(!empty($list_product)){
foreach($list_product as $item){
//Xử lý phần tử của mảng
}
}else{
echo "Hiện tại không có sản phẩm nào trong mảng";
}
Đoạn code bên dưới giúp lấy giá trị mod
– action
từ Url thông qua biến toàn cục $_GET
để phục vụ cho chuyển hướng xử lý trong chương trình.
<?php
$mod = !empty($_GET['mod'])?$_GET['mod']:'home';
$action = !empty($_GET['action'])?$_GET['action']:'index';
echo $mod,'<br>',$action;
Lời kết
Qua bài này tôi tin rằng bạn đã hiểu được hàm empty và isset trong php. Đây 2 hàm thường xuyên sử dụng nên tốt nhất bạn nên xem lại, ghi chép lại và thực hành để nắm vững nó.
Xin chào, sớm hẹn gặp lại!