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
604 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!

sumber:php.cn
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