Làm cách nào để kiểm tra xem một biến có chưa được khởi tạo trong PHP không?

Trong các ngôn ngữ như C và C++, hầu hết các phương pháp giảng dạy sẽ khiến bạn phải suy nghĩ về việc tạo các biến theo hai giai đoạn riêng biệt. Đầu tiên, bạn sẽ khai báo biến

int c;

và sau đó bạn sẽ khởi tạo biến với giá trị mặc định của nó

c = 42

Khi bạn khai báo biến, bạn sẽ cho trình biên dịch biết loại giá trị mà biến sẽ lưu trữ. Khi bạn khởi tạo biến, bạn sẽ cho trình biên dịch biết giá trị ban đầu/mặc định của biến đó là bao nhiêu

Điều này rất quan trọng trong các ngôn ngữ như C và C++ vì các ngôn ngữ này thiên về suy nghĩ về các biến như nội dung của bộ nhớ tại một địa chỉ cụ thể [so với suy nghĩ về các biến như giá trị mà chúng nắm giữ]. Nếu bạn đã khai báo một biến mà không khởi tạo nó, chương trình của bạn sẽ trả về giá trị xảy ra tại một địa chỉ bộ nhớ cụ thể. Bộ nhớ có thể chứa bất cứ thứ gì và không xác định giữa các lần chạy chương trình. Bạn sẽ thường nghe những thứ này được gọi là "giá trị rác" vì đây thường không phải là hành vi bạn muốn

Khi các ngôn ngữ thế hệ tiếp theo xuất hiện, [Java, C#, python, PHP, v.v. ] một trong những vấn đề họ muốn giải quyết là khoảng cách giữa khai báo và khởi tạo. Hầu hết các ngôn ngữ của thời đại này thực hiện một số hình thức khởi tạo giá trị mặc định tự động. Nếu một lập trình viên người dùng cuối không bao gồm giá trị ban đầu cho một biến, thì chương trình sẽ sử dụng một giá trị như null, None, undefined, v.v.

Mặc dù hành vi này đi kèm với các vấn đề riêng của nó [Gọi hàm thành viên trên một đối tượng không phải là đối tượng,

c = 42
0, v.v. ], các vấn đề ít nhất là nhất quán. Lo lắng về bộ nhớ rác không phải là điều bạn sẽ làm thường xuyên nếu bạn đang làm việc với các ngôn ngữ này

Thuộc tính gõ PHP

Các ngôn ngữ PHP cốt lõi tiếp tục bổ sung các tính năng từ các ngôn ngữ được gõ mạnh hơn. Một tính năng gần đây, được giới thiệu trong PHP 7. 4, là thuộc tính lớp gõ. Điều này cho phép bạn thêm các loại vào thuộc tính lớp của mình như thế này

Chủ Đề