Hướng dẫn isset() vs empty() vs is_null php - Isset () so với blank () so với is_null php

Bạn sẽ sử dụng các biến trong hầu hết mọi chương trình mà bạn viết bằng PHP. Hầu hết thời gian các biến này có giá trị và chúng tôi thường tạo chúng với giá trị ban đầu. Tuy nhiên, luôn có khả năng một số biến bạn đang sử dụng không được khởi tạo. Điều này có thể dẫn đến một cảnh báo từ PHP về việc sử dụng một biến không xác định.

Có thể có nhiều lý do cho các biến không xác định. Những người phổ biến nhất là bạn thực sự không xác định biến hoặc bạn đã phạm sai lầm khi sử dụng lại ở một nơi khác. Đây chỉ là một lỗi lập trình. Tuy nhiên, một khả năng khác có thể dẫn đến một biến không xác định là nó đã được xác định có điều kiện.

Bạn cũng có thể thấy rằng một biến có giá trị NULL. Điều này cũng có thể xảy ra vì một số lý do. Ví dụ, biến có thể không được khởi tạo với một giá trị. Hoặc giá trị null có thể được trả về từ một hàm để báo hiệu một số loại lỗi.

Trong mọi trường hợp, sử dụng một biến trước khi nó được xác định hoặc khi nó có giá trị null có thể có hậu quả không lường trước được. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách kiểm tra xem một phần tử đã được xác định và xem nó có trống hay không.

Bạn có thể sử dụng isset(), empty() hoặc is_null() để kiểm tra xem một hoặc tất cả các điều kiện đó là đúng hay sai.

Định nghĩa

Hãy bắt đầu với một số định nghĩa.

  1. isset(): Bạn có thể sử dụng isset() để xác định xem một biến được khai báo và khác với
    <?php
    
    function my_empty($x) {
      return !isset($x) || $x == false
    }
    
    ?>
    0.
  2. empty(): Nó được sử dụng để xác định xem biến có tồn tại hay không và giá trị của biến không đánh giá là
    <?php
    
    function my_empty($x) {
      return !isset($x) || $x == false
    }
    
    ?>
    2.
  3. is_null(): Hàm này được sử dụng để kiểm tra xem một biến là ____10.

PHP isset() so với empty()

Như chúng ta đã thấy từ các định nghĩa, isset() sẽ trả về

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
8 nếu chúng ta đã xác định biến trước đó và đặt giá trị của nó thành một cái gì đó khác với NULL. Điều này có thể bao gồm
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
0, một chuỗi trống hoặc
<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2. Mặt khác, empty() sẽ trả về
<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
8 Bất cứ khi nào giá trị biến được đặt thành một cái gì đó đánh giá thành ____ 12, chúng tôi gọi các giá trị "Falsey" này. Ví dụ về các giá trị sai bao gồm
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
0, chuỗi trống
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
6 và chuỗi
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
7, một mảng trống, NULL hoặc tất nhiên là boolean
<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2.

Một điểm tương đồng giữa isset()empty() là cả hai đều là cấu trúc ngôn ngữ và do đó không thể được gọi bằng cách sử dụng các hàm biến.

Đoạn mã sau đây sẽ giải thích sự khác biệt giữa hai.

<?php

$fruit = '';

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// Output:  Do you like ?

if(!empty($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

?>

Lưu ý rằng empty() có thể được viết bằng hàm isset():

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>

Tất nhiên, thường dễ sử dụng chức năng empty() tích hợp.

PHP isset() so với is_null()

Hàm is_null() trả về

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
8 nếu giá trị của một biến đã được đặt rõ ràng thành NULL. Nếu không, nó chỉ đơn giản là trả về
<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2. Mặt khác, isset() sẽ trả về
<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
8 miễn là một biến được xác định và giá trị của nó không phải là NULL.

Dưới đây là một ví dụ cơ bản để hiển thị sự khác biệt giữa chúng.

<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>

PHP & nbsp; ________ 6 so với is_null()

& Nbsp; ________ 6 & nbsp; hàm trả về & nbsp; ________ 18 & nbsp; nếu giá trị của một biến đánh giá là

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2. Điều này có thể có nghĩa là chuỗi trống, NULL, số nguyên
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
0 hoặc một mảng không có phần tử. Mặt khác, ________ 7 & nbsp; sẽ trả về & nbsp; ________ 18 & nbsp; chỉ khi biến có giá trị NULL.

Dưới đây là một ví dụ cơ bản để hiển thị sự khác biệt giữa chúng.

<?php

$person = ['first_name' => 'Monty', 'last_name' => '', 'age' => '83', 'fav_movie' => NULL];

if(empty($person['last_name'])) {
    if(is_null($person['last_name'])) {
        echo 'The last name is set to NULL.';
    } else {
        echo 'The last name is probably an empty string.';
    }
}
// Output: The last name is probably an empty string.

if(is_null($person['fav_movie'])) {
    echo $person['first_name'].' did not specify a favorite movie.';
}
// Output: Monty did not specify a favorite movie.

PHP & nbsp; ________ 6 so với is_null()

& Nbsp; ________ 6 & nbsp; hàm trả về & nbsp; ________ 18 & nbsp; nếu giá trị của một biến đánh giá là

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2. Điều này có thể có nghĩa là chuỗi trống, NULL, số nguyên
<?php

$fruit = NULL;

if(isset($fruit)) {
    echo 'Do you like '.$fruit.'?';
}
// No Output

if(is_null($fruit)) {
    echo 'There is no fruit.';
}
// Output: There is no fruit.

?>
0 hoặc một mảng không có phần tử. Mặt khác, ________ 7 & nbsp; sẽ trả về & nbsp; ________ 18 & nbsp; chỉ khi biến có giá trị NULL.

Những điểm quan trọng cần nhớ

Có hai mẹo mà bạn có thể sử dụng để viết mã ngắn gọn hơn và tránh các lỗi trong tương lai.

1. Không giống như empty() và is_null(), bạn có thể chuyển nhiều giá trị đến isset() cùng một lúc để kiểm tra đồng thời xem có ai trong số chúng không được xác định hoặc đặt thành NULL không. Trong trường hợp đó, isset() sẽ chỉ trả về <?php function my_empty($x) { return !isset($x) || $x == false } ?>8 nếu không có giá trị nào được truyền là NULL.

2. Không sử dụng empty()1 để kiểm tra xem giá trị là NULL. Điều này sẽ cung cấp một dương tính giả cho các giá trị sai như một chuỗi trống đánh giá thành

<?php

function my_empty($x) {
  return !isset($x) || $x == false
}

?>
2.

Bạn có thấy bài đăng này hữu ích?

Hướng dẫn isset() vs empty() vs is_null php - Isset () so với blank () so với is_null php

Freelancer, người hướng dẫn

Tôi là một nhà phát triển đầy đủ, người cũng thích viết các hướng dẫn. Sau khi thử một loạt những điều cho đến năm thứ hai của đại học, tôi quyết định làm việc về các kỹ năng phát triển web của mình. Bắt đầu chỉ với HTML và CSS, tôi tiếp tục tiến về phía trước và có được kinh nghiệm trong PHP, JavaScript và Python. Tôi thường dành thời gian rảnh của mình hoặc làm việc cho một số dự án phụ hoặc đi du lịch xung quanh.

Tôi có nên sử dụng ISSET hay trống trong PHP?

"ISSet () kiểm tra xem một biến có giá trị bao gồm (sai, 0 hoặc chuỗi trống), nhưng không null. Trả về đúng nếu var tồn tại; mặt khác. Giá trị Chuỗi trống, 0, null hoặc false. Trả về false nếu var có giá trị không trống và khác không. "isset() checks if a variable has a value including (False, 0 or empty string), but not NULL. Returns TRUE if var exists; FALSE otherwise. On the other hand the empty() function checks if the variable has an empty value empty string, 0, NULL or False. Returns FALSE if var has a non-empty and non-zero value."

Sự khác biệt giữa ISSET () và trống () là gì?

Hàm isset () là một hàm sẵn có trong PHP được sử dụng để xác định xem biến có được khai báo hay không và giá trị của nó không bằng null.Hàm trống () là một hàm sẵn có trong PHP được sử dụng để kiểm tra xem một biến có trống hay không.

Php có kiểm tra trống isset không?

hàm trống () trong PHP?Hàm isset () là một hàm sẵn có trong PHP, kiểm tra xem một biến được đặt và không phải là null.Hàm này cũng kiểm tra xem một biến được khai báo, mảng hoặc khóa mảng có giá trị null, nếu có, isset () trả về false, nó trả về đúng trong tất cả các trường hợp có thể khác.checks whether a variable is set and is not NULL. This function also checks if a declared variable, array or array key has null value, if it does, isset() returns false, it returns true in all other possible cases.

Null vs isset PHP có phải không?

is_null () trái ngược với isset (), ngoại trừ một sự khác biệt mà isset () có thể được áp dụng cho các biến không xác định, nhưng is_null () chỉ để các biến được khai báo.isset() can be applied to unknown variables, but is_null() only to declared variables.