Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan `json_encode`?

Bagaimanakah Saya Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan `json_encode`?

Patricia Arquette
Lepaskan: 2024-12-03 13:12:12
asal
704 orang telah melayarinya

How Do I Convert a PHP Array to a JSON Array Using `json_encode`?

Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan json_encode

Apabila bekerja dengan tatasusunan PHP, adalah penting untuk memahami bagaimana tatasusunan tersebut diwakili dalam JSON apabila menggunakan json_encode. Secara lalai, tatasusunan PHP dikodkan sebagai objek JSON apabila kuncinya tidak berjujukan.

Pertimbangkan tatasusunan PHP berikut:

$input = [
    [
        "id" => 0,
        "name" => "name1",
        "short_name" => "n1"
    ],
    [
        "id" => 2,
        "name" => "name2",
        "short_name" => "n2"
    ]
];
Salin selepas log masuk

Apabila cuba mengekod tatasusunan ini menggunakan json_encode, hasilnya akan menjadi objek JSON berikut:

{
    "0": {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    "2": {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
}
Salin selepas log masuk

Tingkah laku ini berlaku kerana kekunci tatasusunan tidak berurutan (0 dan 2). Untuk mengekod tatasusunan sebagai tatasusunan JSON, semua kunci mestilah berjujukan.

Penyelesaian: Pengindeksan semula dengan array_values

Untuk menukar tatasusunan kepada format berjujukan, gunakan array_values fungsi:

$output = json_encode(array_values($input));
Salin selepas log masuk

Ini mengindeks semula tatasusunan, bermula dengan 0, memastikan kunci berurutan. JSON yang terhasil menjadi tatasusunan:

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

Dengan memahami perwakilan tatasusunan PHP dalam JSON dan menggunakan nilai_tatasusunan untuk pengindeksan semula berurutan, anda boleh berjaya mengekod tatasusunan PHP sebagai tatasusunan JSON menggunakan json_encode.

Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Tatasusunan PHP kepada Tatasusunan JSON Menggunakan `json_encode`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan