Mục lục:
Hàm isset()
được dùng để kiểm tra một biến nào đó đã được khởi tạo trong bộ nhớ của máy tính hay chưa, nếu nó đã khởi tạo (tồn tại) thì sẽ trả về TRUE và ngược lại sẽ trả về FALSE.
Ví dụ: Kiểm tra biến $domain
có tồn tại hay không
|
Vậy khi nào thì sử dụng hàm isset()?
Như bạn biết nếu trong quá trình biên dịch nếu trong code có sử dụng một biến không tồn tại thì trình biên dịch sẽ ngưng xử lý và thông báo lỗi ngay, chính vì vậy thông thường những trường hợp mà ta không chắc chắn là biến đó luôn tồn tại thì trước khi sử dụng hãy kiểm tra nó.
Ví dụ: Lấy thông tin đăng ký từ form
Đây là ví dụ thông dụng nhất mà có lẽ nhiều ban newbie vẫn mắc phải. Thông thường khi lấy thông tin từ FORM (xem bài post và get trong php) thì bạn nên kiểm tra nó có tồn tại không rồi hãy lấy, nếu không người dùng sẽ sử dụng firebug đổi một số name của các thẻ input thì chương trình sẽ lỗi ngay.
|
Ví dụ: Lấy trang hiện tại trên URL dùng để phân trang
Trong thuật toán phân trang chúng ta lấy page trên URL để xác định record hiển thị cho trang đó. Chính vì page nằm trên URL nên rất nguy hiểm nếu như chúng ta lấy mà không kiểm tra nó tồn tại hay không vì nếu người dùng chỉ cần bỏ cái page=x
đó đi thì chương trình sẽ bị lỗi ngay.
|
Ví dụ: Thực hiện nối chuỗi trong khi biến $domain
chưa chắc chắn là tồn tại
|
Rõ ràng đoạn code này chạy sẽ bị lỗi ngay bởi vì biến $sologan
sẽ không tồn tại vì câu lệnh bên trong mệnh đề if không được chạy.
Trên là những ví dụ thông thường hay xảy ra trong thực tế nên vẫn còn khá nhiều trường hợp bạn nên sử dụng hàm isset() trong php.
Hàm empty()
trong php dùng để kiểm tra một biến nào đó có giá trị rỗng hoặc chưa được khởi tạo hay không.
Giả sử ta có biến $var
và giá trị của nó sẽ là rỗng nếu nó nằm một trong các trường hợp sau:
$var = 0
hoặc $var = '0'
$var = NULL
$var = '';
$var = FALSE
$var
không tồn tạiNhư vậy có 6 trường hợp hàm empty()
sẽ đúng. Tuy nhiên trường hợp cuối cùng là $var không tồn tại là hơi đặc biệt một chút, vấn đề này rất giống với hàm isset()
đúng không nào.
Ví dụ: Ví dụ các trường hợp trên
|
Trong đó ở ví dụ thứ 6 biến $bien_khong_ton_tai
chưa được khởi tạo nhưng vẫn không bị lỗi và khi sử dụng nó trong hàm empty()
thì sẽ trả về TRUE.
Vậy khi nào nên sử dụng hàm empty()?
Thông thường chúng ta sử dụng hàm empty()
để validate dữ liệu bởi vì nó có thêm chức năng của hàm isset()
nên sẽ không bao giờ xuất hiện lỗi.
Vi dụ: kiểm tra dữ liệu khi người dùng đăng nhập
|
Nếu sử dụng hàm isset()
thì ta sẽ làm như sau:
|
Rõ ràng nếu ta dùng hàm empty()
thì nhìn code gọn hơn phải không nào.
Về bài trước... |
Bài tiếp theo... |
+ Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!
* Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!
* Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!
+ -:
+ -: