Hướng dẫn dùng isnotnull trong PHP

Hàm is_null() sẽ kiểm tra giá trị của biến có rỗng không, nếu biến rỗng hàm trả về TRUE, ngược lại nếu biến khác rỗng hàm trả về FALSE.

Show

Hướng dẫn dùng isnotnull trong PHP

Hướng dẫn dùng isnotnull trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháp: is_null( $var);

Trong đó:

  • $var là biến cần kiểm tra.

Ví dụ

Code

$var = 'freetuts.net';
if (is_null($var)) {
	echo 'biến mang giá trị rỗng';
}else{
	echo 'biến mang giá trị khác rỗng';
}

Kết quả

biến mang giá trị khác rỗng

Code

$var = null;
if (is_null($var)) {
	echo 'biến mang giá trị rỗng';
}else{
	echo 'biến mang giá trị khác rỗng';
}

Kết quả

biến mang giá trị rỗng

Tham khảo: php.net

Bài viết này được đăng tại [free tuts .net]

Cùng chuyên mục:

Xử lý giá trị NULL – Bạn có thể sử dụng điều kiện if … else để chuẩn bị truy vấn dựa trên giá trị NULL.

Trong một seri bài viết giới thiệu với các bạn một loạt các hàm xử lý trong MySQL với PHP. Như mysql_query (), INSERT, UPDATE, DELETE … giúp bạn truy vấn dữ liệu, thêm/sửa/xóa các bản ghi. Trong bài này, tôi giới thiệu với các bạn xử lý tình huống giá trị đưa vào là giá trị rỗng.

Bạn đã thấy cách lệnh SELECT cùng với mệnh đề WHERE trong SQL lấy dữ liệu từ bảng MySQL, nhưng khi chúng ta cố gắng cung cấp một điều kiện so sánh giá trị trường hoặc giá trị cột với NULL, nó làm việc không chính xác.

Để xử lý những tình huống như vậy, MySQL cung cấp 3 toán tử:

  • IS NULL: Toán tử này trả về true nếu giá trị cột là NULL.
  • IS NOT NULL: Toán tử này trả về true nếu giá trị côt không là NULL.
  • <=>: Toán tử này so sánh các giá trị, mà (không giống toán tử =) là true khi hai giá trị là NULL.

Các điều kiện liên quan tới NULL là khá đặc biệt. Bạn không thể sử dụng = NULL hoặc != NULL để tìm giá trị NULL trong các cột. Những so sánh như thế luôn luôn thất bại bởi vì nó là không thể để nói rằng có hay không chúng là true. Ngay cả NULL = NULl cũng thất bại.

Để tìm các cột là hoặc không là NULL, sử dụng toán tử IS NULL hoặc IS NOT NULL trong MySQL.

Ví dụ sau đây lấy tutorial_count từ bên ngoài truyền vào. Và sau đó so sánh nó với giá trị có sẵn trong bảng.

Sao chép và dán ví dụ sau vào file mysql_example.php

<html>
   <head>
      <title>Handling NULL</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'TUTORIALS';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         $tutorial_count = null;
         if($mysqli->connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli->connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
   
         if( isset($tutorial_count )) {
            $sql = 'SELECT tutorial_author, tutorial_count
               FROM  tcount_tbl
               WHERE tutorial_count = ' + $tutorial_count;
         } else {
            $sql = 'SELECT tutorial_author, tutorial_count
               FROM  tcount_tbl
               WHERE tutorial_count IS NULL';
         }
         $result = $mysqli->query($sql);
           
         if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               printf("Author: %s, Count: %d <br />",
                  $row["tutorial_author"], 
                  $row["tutorial_count"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         $mysqli->close();
      ?>
   </body>
</html>

Dữ liệu đầu ra

Truy cập vào mysql_example.php được thực thi trên máy chủ web apache và kết quả đầu ra.

Connected successfully.
No record found.

null khá giống với bất kỳ giá trị nào khác trong PHP (trên thực tế, nó cũng là một kiểu dữ liệu khác với chuỗi, int, v.v.).

Tuy nhiên, có một điểm khác biệt quan trọng: isset($var)kiểm tra var có tồn tại và có giá trị khác không.

Nếu bạn định đọc lại biến trước khi gán giá trị mới, thì unset()có phải cách làm sai nhưng việc gán nulllà hoàn toàn ổn:

php > $a = null;
php > if($a) echo 'x';
php > unset($a);
php > if($a) echo 'x';
Notice: Undefined variable: a in php shell code on line 1
php >

Như bạn có thể thấy, unset()thực sự xóa biến, giống như nó chưa từng tồn tại, trong khi chỉ định nullđặt nó thành một giá trị cụ thể (và tạo biến nếu cần).

Trường hợp sử dụng hữu ích của nulllà trong các đối số mặc định khi bạn muốn biết liệu nó có được cung cấp hay không và các chuỗi trống, không, v.v. cũng hợp lệ:

function foo($bar = null) {
    if($bar === null) { ... }
}

2 hữu ích 0 bình luận chia sẻ