Được đặt và không phải là 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 đều 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 cảnh báo từ PHP về việc sử dụng 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 điều phổ biến nhất là bạn thực sự không xác định biến hoặc bạn đã mắc lỗi chính tả khi sử dụng lại nó ở 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ị

    echo 'Do you like '.$fruit.'?';
5. Điều này cũng có thể xảy ra vì một số lý do. Ví dụ: biến có thể chưa được khởi tạo với 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, việc 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ể dẫn đến những 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 chưa và xem phần tử đó có rỗng hay không

Bạn có thể sử dụng

    echo 'Do you like '.$fruit.'?';
6,
    echo 'Do you like '.$fruit.'?';
7 hoặc
    echo 'Do you like '.$fruit.'?';
8 để kiểm tra xem một hoặc tất cả các điều kiện đó là đúng hay sai

Các định nghĩa

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

  1.     echo 'Do you like '.$fruit.'?';
    
    9. Bạn có thể sử dụng
        echo 'Do you like '.$fruit.'?';
    
    9 để xác định xem một biến có được khai báo và khác với
    <?php
    
    01 hay không
  2. <?php
    
    02. 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 ước tính thành
    <?php
    
    03
  3. <?php
    
    04. Hàm này được sử dụng để kiểm tra xem một biến có phải là
    <?php
    
    01 không

PHP echo 'Do you like '.$fruit.'?'; 9 so với. <?php 02

Như chúng ta đã thấy từ các định nghĩa,

    echo 'Do you like '.$fruit.'?';
9 sẽ trả về
<?php
09 nếu chúng ta đã xác định biến trước đó và đặt giá trị của nó thành giá trị khác với
    echo 'Do you like '.$fruit.'?';
5. Điều này có thể bao gồm
<?php
11, một chuỗi trống hoặc
<?php
03. Mặt khác,
<?php
02 sẽ trả về
<?php
09 bất cứ khi nào giá trị biến được đặt thành thứ gì đó có giá trị là
<?php
03—chúng tôi gọi những giá trị này là "falsey". Ví dụ về các giá trị falsey bao gồm
<?php
11, chuỗi rỗng
<?php
17 và chuỗi
<?php
18, một mảng trống,
    echo 'Do you like '.$fruit.'?';
5 hoặc tất nhiên là boolean
<?php
03

Một điểm tương đồng giữa

    echo 'Do you like '.$fruit.'?';
9 và
<?php
02 là cả hai đều là cấu trúc ngôn ngữ và do đó không thể được gọi bằng các hàm biến

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

    echo 'Do you like '.$fruit.'?';
8
<?php
    echo 'Do you like '.$fruit.'?';
0
    echo 'Do you like '.$fruit.'?';
1
    echo 'Do you like '.$fruit.'?';
2
    echo 'Do you like '.$fruit.'?';
3
    echo 'Do you like '.$fruit.'?';
4
    echo 'Do you like '.$fruit.'?';
5
    echo 'Do you like '.$fruit.'?';
6
    echo 'Do you like '.$fruit.'?';
<?php
0
<?php
1
<?php
2
<?php
3
<?php
4
<?php
5
<?php
6
<?php
7
    echo 'Do you like '.$fruit.'?';
<?php
9
<?php
1
    echo 'Do you like '.$fruit.'?';
01
    echo 'Do you like '.$fruit.'?';
02
    echo 'Do you like '.$fruit.'?';
03
    echo 'Do you like '.$fruit.'?';
04
    echo 'Do you like '.$fruit.'?';
05

Lưu ý rằng có thể viết

<?php
02 bằng hàm
    echo 'Do you like '.$fruit.'?';
9

    echo 'Do you like '.$fruit.'?';
8
<?php
    echo 'Do you like '.$fruit.'?';
0
    echo 'Do you like '.$fruit.'?';
1
    echo 'Do you like '.$fruit.'?';
10
    echo 'Do you like '.$fruit.'?';
3
    echo 'Do you like '.$fruit.'?';
12
    echo 'Do you like '.$fruit.'?';
4
<?php
1
    echo 'Do you like '.$fruit.'?';
6
<?php
0
    echo 'Do you like '.$fruit.'?';
05

Tất nhiên, việc sử dụng chức năng

<?php
02 tích hợp thường dễ dàng hơn

PHP echo 'Do you like '.$fruit.'?'; 9 so với. <?php 04

Hàm

<?php
04 trả về
<?php
09 nếu giá trị của một biến đã được đặt rõ ràng thành
    echo 'Do you like '.$fruit.'?';
5. Mặt khác, nó chỉ trả về
<?php
03. Mặt khác,
    echo 'Do you like '.$fruit.'?';
9 sẽ trả về
<?php
09 miễn là một biến được xác định và giá trị của nó không phải là
    echo 'Do you like '.$fruit.'?';
5

Đây là một ví dụ cơ bản để cho thấy sự khác biệt giữa chúng

    echo 'Do you like '.$fruit.'?';
8
<?php
    echo 'Do you like '.$fruit.'?';
0
    echo 'Do you like '.$fruit.'?';
1
    echo 'Do you like '.$fruit.'?';
22
    echo 'Do you like '.$fruit.'?';
3
    echo 'Do you like '.$fruit.'?';
4
    echo 'Do you like '.$fruit.'?';
5
    echo 'Do you like '.$fruit.'?';
6
    echo 'Do you like '.$fruit.'?';
<?php
0
<?php
1
<?php
2
    echo 'Do you like '.$fruit.'?';
02
<?php
4
<?php
5
    echo 'Do you like '.$fruit.'?';
34
<?php
7
    echo 'Do you like '.$fruit.'?';
36
<?php
9
<?php
1
    echo 'Do you like '.$fruit.'?';
01
    echo 'Do you like '.$fruit.'?';
40
    echo 'Do you like '.$fruit.'?';
03
    echo 'Do you like '.$fruit.'?';
04
    echo 'Do you like '.$fruit.'?';
05

PHP <?php 02 so với. <?php 04

Hàm 

<?php
02 trả về 
<?php
09 nếu giá trị của một biến ước tính là
<?php
03. Điều này có thể có nghĩa là chuỗi rỗng,
    echo 'Do you like '.$fruit.'?';
5, số nguyên
<?php
11 hoặc một mảng không có phần tử nào. Mặt khác,
<?php
04 sẽ trả về 
<?php
09 chỉ khi biến có giá trị
    echo 'Do you like '.$fruit.'?';
5

Đây là một ví dụ cơ bản để cho thấy sự khác biệt giữa chúng

    echo 'Do you like '.$fruit.'?';
8
<?php
    echo 'Do you like '.$fruit.'?';
0
    echo 'Do you like '.$fruit.'?';
1
    echo 'Do you like '.$fruit.'?';
48
    echo 'Do you like '.$fruit.'?';
3
    echo 'Do you like '.$fruit.'?';
4
    echo 'Do you like '.$fruit.'?';
51
    echo 'Do you like '.$fruit.'?';
6
    echo 'Do you like '.$fruit.'?';
53
<?php
0
    echo 'Do you like '.$fruit.'?';
55
<?php
2
    echo 'Do you like '.$fruit.'?';
57
<?php
4
    echo 'Do you like '.$fruit.'?';
59
<?php
5
    echo 'Do you like '.$fruit.'?';
61
<?php
7
<?php
1
<?php
9
    echo 'Do you like '.$fruit.'?';
65
    echo 'Do you like '.$fruit.'?';
01
    echo 'Do you like '.$fruit.'?';
03
    echo 'Do you like '.$fruit.'?';
68
    echo 'Do you like '.$fruit.'?';
04
    echo 'Do you like '.$fruit.'?';
0
    echo 'Do you like '.$fruit.'?';
1_______301____4

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 lỗi trong tương lai

1. Không giống như

<?php
02 và
<?php
04, bạn có thể chuyển nhiều giá trị cho
    echo 'Do you like '.$fruit.'?';
9 cùng một lúc để kiểm tra đồng thời xem có bất kỳ giá trị nào trong số chúng không được xác định hoặc được đặt thành
    echo 'Do you like '.$fruit.'?';
5. Trong trường hợp đó,
    echo 'Do you like '.$fruit.'?';
9 sẽ chỉ trả về
<?php
09 nếu không có giá trị nào được truyền là
    echo 'Do you like '.$fruit.'?';
5

2. Không sử dụng

<?php
52 để kiểm tra xem giá trị có phải là
    echo 'Do you like '.$fruit.'?';
5 không. Điều này sẽ đưa ra kết quả dương tính giả đối với các giá trị sai như chuỗi rỗng có giá trị là
<?php
03

Suy nghĩ cuối cùng

Hướng dẫn này nhanh chóng giải thích sự khác biệt giữa

    echo 'Do you like '.$fruit.'?';
9,
<?php
02 và
<?php
04. Hy vọng rằng bây giờ bạn sẽ có thể xác định cái nào trong số chúng phù hợp với bạn để sử dụng trong mã của mình

Làm cách nào để kiểm tra xem giá trị có phải là NULL trong PHP không?

Hàm is_null() kiểm tra xem một biến có phải là NULL hay không. Hàm này trả về true (1) nếu biến là NULL, ngược lại trả về false/nothing.

Làm cách nào để kiểm tra đối tượng được đặt hay không trong PHP?

Hàm PHP isset() . Hàm này trả về true nếu biến tồn tại và không phải là NULL, ngược lại trả về false.

Không được thiết lập PHP?

Trả lời. Sử dụng hàm isset() của PHP . isset() sẽ trả về FALSE nếu kiểm tra một biến đã được đặt thành NULL.

Làm cách nào để kiểm tra mảng được đặt hay không trong PHP?

Hàm is_array() kiểm tra xem một biến có phải là mảng hay không. Hàm này trả về true (1) nếu biến là một mảng, ngược lại trả về false/nothing.