Mục lục bài viết

1. Chức năng của hàm isset()

Hàm isset() trong PHP có chức năng kiểm tra một biến đã được khai báo hay chưagiá trị của biến có khác null không.

2. Cú pháp của hàm isset()

isset(mixed $var, mixed ...$vars): bool

Trong đó:

  • $var là biến cần kiểm tra xem đã khai báo hay chưa và giá trị của biến có khác null không. Biến này có kiểu dữ liệu bất kỳ.
  • $vars là những biến khác cũng cần kiểm tra. Hàm isset() có thể có nhiều đối số.
  • Kiểu dữ liệu trả về là bool. Nếu biến $var và những biến $vars khác tồn tại và có giá trị khác null thì hàm isset() trả về true, ngược lại trả về false.

Lưu ý:

Nếu một biến chưa được khai báo hoặc đã bị hủy bởi hàm unset() thì coi như biến đó không tồn tại (chưa được khai báo).

Hàm isset() sẽ trả về false khi kiểm tra một biến đã được gán hằng số null trong PHP. Chú ý là ký tự null ‘\0’ (trong mã ASCII) không tương đương với hằng số null trong PHP. Ví dụ:

$value1 = 0x00;//0x00 là ký hiệu của null trong ASCII ở hệ cơ số 16
//hoặc
$value2 = '\0';//'\0' là ký hiệu của null trong ASCII
$value3 = null;//hằng số null trong PHP
var_dump(isset($value1));//bool(true)
var_dump(isset($value2));//bool(true)
var_dump(isset($value3));//bool(false)

Nếu hàm isset() có nhiều đối số thì chỉ trả về true nếu tất cả các đối số thỏa điều kiện: được khai báogiá trị khác null. Hàm isset() sẽ kiểm tra từng đối số từ trái qua phải và sẽ trả về false ngay nếu gặp một đối số không thỏa điều kiện.

3. Một số ví dụ sử dụng hàm isset()

<?php
$var = '';
var_dump(isset($var));//bool(true)

$a = "test";
$b = "anothertest";

var_dump(isset($a));//bool(true)
var_dump(isset($a, $b));//bool(true)

unset ($a);

var_dump(isset($a));//bool(false)
var_dump(isset($a, $b));//bool(false)

$foo = NULL;
var_dump(isset($foo));//bool(false)

$arr = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));
var_dump(isset($arr['test']));//bool(true)
var_dump(isset($arr['foo']));//bool(false)
var_dump(isset($arr['hello']));//bool(false)

var_dump(isset($arr['pie']['a']));//bool(true)
var_dump(isset($arr['cake']['a']['b']));//bool(false)
?>

Hàm isset() trong PHP được dùng rất nhiều khi lập trình web với PHP khi kiểm tra sự tồn tại của các biến nhận được từ phương thức GET hoặc POST.

Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Cài đặt Python và môi trường lập trình với Visual Studio Code

Học tiếp