stdClass là một tính năng tiện dụng do PHP cung cấp để tạo một lớp thông thường. Nó là một lớp 'trống rỗng' được xác định trước được sử dụng như một lớp tiện ích để truyền các đối tượng thuộc các loại khác. Nó không có cha mẹ, thuộc tính hoặc phương thức. Nó cũng không hỗ trợ các phương thức ma thuật và không triển khai bất kỳ giao diện nào
Mục lục
- Tạo đối tượng stdClass
- Tạo một đối tượng stdClass bằng cách truyền kiểu
- Chuyển đổi một mảng thành một đối tượng
- Chuyển đổi một đối tượng thành một mảng
Tạo đối tượng stdClass
Thí dụ
Trong ví dụ sau, stdClass được sử dụng thay vì một mảng để lưu trữ thông tin chi tiết
Đầu ra chương trình
object[stdClass]#1 [2] { ["name"]=> string[9] "W3schools" ["extension"]=> string[2] "In" }
Bất cứ khi nào bạn cần một thể hiện đối tượng chung trong chương trình của mình, bạn có thể sử dụng stdClass vì khi bạn truyền bất kỳ loại nào khác cho một đối tượng, bạn sẽ nhận được một thể hiện của stdClass
- Nếu một đối tượng được chuyển đổi thành một đối tượng sử dụng stdClass, nó sẽ không bị sửa đổi
- Nếu giá trị đã cho là NULL, phiên bản mới cũng sẽ trống
- Mảng chuyển đổi thành một đối tượng có thuộc tính được đặt tên theo khóa và giá trị liên quan. Nó giống như sự thay thế cho các mảng kết hợp
- Thành viên có tên vô hướng sẽ chứa giá trị cho bất kỳ loại giá trị nào khác
Tạo một đối tượng stdClass bằng cách truyền kiểu
Thí dụ
Ví dụ sau đây cho thấy rằng giá trị sẽ có sẵn trong một thành viên có tên là Scalar khi đánh kiểu một kiểu khác vào một đối tượng
Đầu ra chương trình
object[stdClass]#1 [1] { ["scalar"]=> string[9] "W3schools" }
Chuyển đổi một mảng thành một đối tượng
Thí dụ
Trong ví dụ sau, một mảng được chuyển đổi thành một đối tượng bằng cách nhập liệu
Đầu ra chương trình
object[stdClass]#1 [2] { ["name"]=> string[9] "W3schools" ["Extension"]=> string[2] "In" }
Chuyển đổi một đối tượng thành một mảng
Thí dụ
Trong ví dụ sau, một đối tượng được chuyển đổi thành một mảng bằng cách nhập liệu
Đầu ra chương trình
Array[ [name] => W3schools [extension] => In ]
PHP khác với các ngôn ngữ hướng đối tượng khác vì các lớp trong PHP không tự động dẫn xuất từ bất kỳ lớp nào. Tất cả các lớp PHP là độc lập trừ khi chúng được mở rộng rõ ràng từ một lớp khác. Ở đây bạn có thể nghĩ đến việc định nghĩa một lớp mở rộng stdClass, nhưng nó sẽ không mang lại cho bạn bất kỳ lợi ích nào vì stdClass không làm gì cả
Bài đăng này định nghĩa hai hàm đệ quy cực kỳ đơn giản để chuyển đổi Đối tượng đa chiều thành Mảng và Mảng đa chiều thành Đối tượng
Chức năng chuyển đổi đối tượng stdClass thành mảng đa chiều
________số 8Hàm chuyển đổi mảng đa chiều thành đối tượng stdClass