Hướng dẫn convert json object to array php - chuyển đổi đối tượng json thành mảng php

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.

  1. Đối tượng đánh máy thành một mảng.
  2. 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

Làm thế nào để làm cho đối tượng JSON để mảng trong PHP?

Hàm json_encode [] được sử dụng để chuyển đổi giá trị của mảng thành json.Hàm này được thêm vào từ PHP5.Ngoài ra, bạn có thể làm cho việc làm tổ nhiều hơn theo yêu cầu của bạn.Bạn cũng có thể tạo một mảng mảng các đối tượng với chức năng này.. This function is added in from PHP5. Also, you can make more nesting of arrays as per your requirement. You can also create an array of array of objects with this function.

Làm thế nào để có được JSON Array từ đối tượng JSON trong PHP?

file_get_contents [] Hàm: Hàm này trong PHP được sử dụng để đọc một tệp vào một chuỗi.Chức năng JSON_DECODE []: Hàm này lấy chuỗi JSON và chuyển đổi nó thành biến PHP có thể là một mảng hoặc một đối tượng.

Hàm json_decode [] nào sẽ trở lại?

Hàm json_decode [] có thể trả về giá trị được mã hóa trong JSON theo loại PHP thích hợp.Các giá trị đúng, sai và null được trả về tương ứng là đúng, sai và null.NULL được trả về nếu JSON không thể được giải mã hoặc nếu dữ liệu được mã hóa sâu hơn giới hạn đệ quy.a value encoded in JSON in appropriate PHP type. The values true, false, and null is returned as TRUE, FALSE, and NULL respectively. The NULL is returned if JSON can't be decoded or if the encoded data is deeper than the recursion limit.

Giải mã JSON trong PHP là gì?

Hàm json_decode [] được sử dụng để giải mã hoặc chuyển đổi đối tượng JSON thành đối tượng PHP.used to decode or convert a JSON object to a PHP object.

Bài Viết Liên Quan

Chủ Đề