Tôi có một chuỗi JSON Tôi có một đối tượng trong một trong đó có một mảng JSON và một đối tượng khác mà tôi muốn đầu tiên là mảng JSON sau đó chuyển đổi thành mảng PHP và đối tượng JSON khác thành biến PHP. Xin vui lòng cho tôi biết cách thực hiện việc này. Tôi có STDCLASS nhưng tôi không thể có được dữ liệu chính xác.
Chuỗi JSON
{
"data": [
{
"ques_name": "no",
"ques_id": "1"
}, {
"ques_name": "yes",
"ques_id": "2"
}, {
"ques_name": "no",
"ques_id": "3"
}, {
"ques_name": "yes",
"ques_id": "4"
}, {
"ques_name": "no",
"ques_id": "5"
}, {
"ques_name": "yes",
"ques_id": "6"
}, {
"ques_name": "no",
"ques_id": "7"
}
],
"UserId": 163
}
Tôi đã sử dụng mã sau để lấy mảng nhưng nó cho tôi mảng có kích thước 14 trong đó kích thước phải là 7
$params=$_GET['params'];
$arr=array[];
$decode=json_decode[$params];
$arr=$decode->data;
print_r[$arr];
bởi Vincy. Sửa đổi lần cuối vào ngày 13 tháng 10 năm 2022.
Đối tượng PHP để chuyển đổi mảng giúp dễ dàng truy cập dữ liệu từ gói đối tượng. Hầu hết các đối tượng đầu ra API là một phản hồi.
Một số API có thể trả về một cấu trúc đối tượng phức tạp. Ví dụ, một hỗn hợp của các đối tượng và mảng được gói với một phản hồi. Vào thời điểm đó, quá trình chuyển đổi đối tượng thành mảng sẽ đơn giản hóa phân tích dữ liệu.
Ví dụ nhanh này thực hiện một đối tượng PHP để chuyển đổi mảng trong một bước duy nhất. Nó tạo ra một gói đối tượng và đặt các thuộc tính.
Nó sử dụng hàm decode [] decode [] JSON [] để chuyển đổi. & Nbsp; json_decode [] cung cấp boolean true để có được đầu ra mảng.
Ví dụ nhanh
Đối tượng PHP để chuyển đổi mảng trong một dòng bằng cách sử dụng json_decode
Đầu ra
Sau khi giải mã, mảng đầu ra được in vào trình duyệt. Ảnh chụp màn hình dưới đây cho thấy đầu ra của chương trình này.
Các cách khác nhau để chuyển đổi một đối tượng PHP thành mảng
Khi chuyển đổi một đối tượng sang mảng, thuộc tính đối tượng ‘Tên: Các cặp giá trị sẽ tạo thành một mảng kết hợp.
Nếu một đối tượng chứa các thuộc tính không được chỉ định thì nó sẽ trả về một mảng có khóa số.
Có hai cách để đạt được một đối tượng PHP để chuyển đổi mảng.
- Đối tượng đánh máy thành một mảng.
- Mã hóa và giải mã các thuộc tính đối tượng thành một mảng các phần tử.
Typecasting là một phương pháp đơn giản để chuyển đổi loại dữ liệu đầu vào. Phương thức thứ hai áp dụng json_decode [] trên đối tượng đã cho. Nó cung cấp Boolean true như một tham số thứ hai để có được đầu ra ở định dạng mảng.
Bài viết này bao gồm các ví dụ về việc sử dụng cả hai phương thức trên để thực hiện đối tượng để chuyển đổi mảng.
Đối tượng PHP để sử dụng Typecasting
Đây là một phương pháp thay thế để chuyển đổi một loại đối tượng thành một mảng. Chương trình dưới đây sử dụng cùng một đối tượng đầu vào.
Nó thay thế giải mã mã hóa JSON thông qua chuyển đổi với câu lệnh TypeCasting. Đầu ra sẽ giống như chúng ta đã thấy ở trên.
Cú pháp kiểu kiểu PHP được hiển thị dưới đây. Nó chuẩn bị loại dữ liệu mục tiêu kèm theo dấu ngoặc đơn.
$output = [target-data-type] $input
type-casting-to-convert-object-to-array.php
Đối tượng đệ quy để chuyển đổi mảng
Ví dụ này sử dụng một đối tượng đầu vào có độ sâu = 3. Nó thêm nhiều thuộc tính hơn ở mức lồng nhau ở các độ sâu khác nhau. Gói đối tượng phân cấp được đặt làm đầu vào cho quá trình chuyển đổi.
Chương trình này xác định một chức năng tùy chỉnh để chuyển đổi một đối tượng PHP thành mảng. Nó thực hiện chuyển đổi đệ quy trên mỗi cấp của đối tượng đầu vào.
converting-recursive-object-to-array.php
Đây là đầu ra của đối tượng PHP đệ quy cho chương trình chuyển đổi mảng ở trên.
Chuyển đổi đối tượng lớp PHP thành mảng
Ví dụ này xây dựng một gói đối tượng lớp PHP. Chất xây dựng lớp đặt các thuộc tính của đối tượng trong quá trình khởi tạo.
Sau đó, phiên bản lớp học sinh được mã hóa để chuẩn bị dữ liệu loại đối tượng. Hàm json_encode [] chuẩn bị đối tượng JSON để cung cấp cho nó để giải mã. Json_decode [] chuyển đổi đối tượng PHP thành mảng.
convert-class-object-into-array.php
Kiểm tra is_object [] trước khi chuyển đổi
Đó là thực hành lập trình tốt để kiểm tra tính khả dụng của dữ liệu trước khi xử lý. Ví dụ này áp dụng xác minh IS_OBject trước khi chuyển đổi một đối tượng PHP thành một mảng.
Phương thức này xác minh nếu đầu vào là một đối tượng. PHP bao gồm các chức năng độc quyền để xác minh tính khả dụng của dữ liệu và loại của nó. Ví dụ isset [], trống [], is_array [], v.v.
checking-object-before-conversion.php
Chuyển đổi đối tượng riêng tư, được bảo vệ của một lớp
Chương trình dưới đây xác định một lớp với các thuộc tính riêng tư và được bảo vệ. Mã PHP khởi tạo lớp và tạo một gói đối tượng.
Nó sử dụng cả các phương thức kiểu chữ và giải mã để chuyển đổi đối tượng thành một mảng.
Khi sử dụng typecasting, chỉ số mảng đầu ra của thuộc tính riêng chứa tiền tố tên lớp. Sau khi chuyển đổi, chỉ mục mảng có tiền tố * cho các thuộc tính được bảo vệ.
converting-private-protected-object.php
Ảnh chụp màn hình đầu ra này cho thấy sự khác biệt trong chỉ mục mảng. Chúng được tạo ra từ các thuộc tính riêng tư và được bảo vệ của thể hiện lớp.
Truy cập các thuộc tính đối tượng với các khóa số
Mã này bao gồm một mảng kết hợp các chi tiết của sinh viên. Nó cũng chứa các giá trị với các khóa số.
Khi chuyển đổi mảng này thành một đối tượng, các khóa mảng kết hợp được sử dụng để truy cập các giá trị thuộc tính đối tượng. Có những trường hợp ngoại lệ để truy cập các thuộc tính nếu nó không có tên.
Mã dưới đây cho thấy cách truy cập các đối tượng với các khóa số. Chìa khóa được bao quanh bởi dấu ngoặc xoăn để có được giá trị.
problem-with-numerical-keys.php
Sự kết luận
Chúng tôi đã thấy các cách khác nhau để chuyển đổi một đối tượng PHP thành một mảng. Typecasting PHP cơ bản đã đạt được chuyển đổi đối tượng ngoại trừ một vài trường hợp đặc biệt.
Quá trình giải mã mã hóa PHP JSON đã thực hiện chuyển đổi với một mã dòng. Nó chấp nhận các đối tượng lớp và chuyển đổi thuộc tính của chúng thành một danh sách mảng.
Các quy trình chức năng tùy chỉnh đối tượng đệ quy để chuyển đổi mảng. Đó là để xử lý các đối tượng phức tạp với các đối tượng hoặc mảng hỗn hợp là các yếu tố con của nó. Tải xuống
download
Trở lại đầu