Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengekodkan Tatasusunan PHP sebagai Tatasusunan JSON Daripada Objek JSON?

Bagaimana untuk Mengekodkan Tatasusunan PHP sebagai Tatasusunan JSON Daripada Objek JSON?

Patricia Arquette
Patricia Arquetteasal
2024-12-07 18:53:13357semak imbas

How to Encode PHP Arrays as JSON Arrays Instead of JSON Objects?

JSON Tatasusunan lwn. Objek JSON: Pengekodan Tatasusunan PHP untuk JSON

Apabila berurusan dengan tatasusunan PHP dan JSON, adalah penting untuk memahami perbezaan antara tatasusunan JSON dan objek JSON . Tatasusunan JSON diwakili menggunakan kurungan segi empat sama, manakala objek JSON menggunakan pendakap kerinting.

Dalam tatasusunan PHP anda, kekuncinya ialah angka (0 dan 2). Walau bagaimanapun, untuk dikodkan sebagai tatasusunan JSON, tatasusunan PHP mesti mempunyai kunci berjujukan bermula dari 0.

Tingkah laku lalai json_encode adalah untuk mengekod tatasusunan anda sebagai objek JSON, itulah sebabnya anda mendapat hasilnya anda menerangkan. Untuk mendapatkan tatasusunan JSON sebaliknya, anda perlu mengindeks semula tatasusunan PHP anda secara berurutan menggunakan array_values().

$input = [
    [
        'id' => 0,
        'name' => 'name1',
        'short_name' => 'n1'
    ],
    [
        'id' => 2,
        'name' => 'name2',
        'short_name' => 'n2'
    ]
];

$output = json_encode(array_values($input));

Selepas pengindeksan semula, output json_encode akan menjadi tatasusunan JSON yang sah, seperti yang dikehendaki:

[
    {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
]

Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Tatasusunan PHP sebagai Tatasusunan JSON Daripada Objek JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn