Sử dụng hàm isset() trong PHP để kiểm tra một biến có tồn tại hay không?

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.

Mời bạn đánh giá bài viết
Chia sẻ trên mạng xã hội:

Tác giả Vinh Lê

Vinh Lê hiện đang là biên tập viên tại Góc Học IT.

Bài viết của Vinh Lê

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.