Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan tatasusunan json kepada tatasusunan dalam php

Bagaimana untuk menukar rentetan tatasusunan json kepada tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 10:14:47601semak imbas

Dalam pembangunan PHP, selalunya perlu menukar data format JSON kepada tatasusunan PHP. Artikel ini akan menerangkan cara menukar rentetan tatasusunan JSON kepada tatasusunan PHP.

Pertama, kita perlu memahami apa itu JSON. JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Dalam JSON, data diwakili dalam bentuk pasangan nilai kunci, dengan setiap pasangan nilai kunci dipisahkan dengan koma dan dibalut dengan kurungan kerinting atau kurungan segi empat sama. JSON boleh digunakan untuk pertukaran data dan sesuai untuk pelbagai bahasa pengaturcaraan.

Berikut ialah contoh rentetan tatasusunan JSON yang mudah:

[{"name":"John","age":25},{"name":"Jane","age":30}]

Pada ketika ini, kami ingin menukarnya kepada tatasusunan PHP, yang boleh dicapai menggunakan fungsi terbina dalam PHP json_decode(). Fungsi json_decode() ialah fungsi yang menukar rentetan JSON kepada objek atau tatasusunan PHP. Sintaksnya adalah seperti berikut:

mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)

Di mana, $json ialah rentetan format JSON yang sah, $assoc ialah nilai Boolean pilihan, lalai adalah palsu, jika ditetapkan kepada benar, PHP akan dikembalikan Tatasusunan bersekutu . $depth ialah integer pilihan yang menentukan bilangan maksimum tahap bersarang rentetan JSON. Lalai ialah 512. $options ialah integer pilihan yang menyatakan pilihan tingkah laku fungsi json_decode(). Pilihan yang biasa digunakan ialah JSON_BIGINT_AS_STRING, JSON_OBJECT_AS_ARRAY dan JSON_NUMERIC_CHECK.

Berikut ialah contoh kod untuk menukar rentetan tatasusunan JSON di atas kepada tatasusunan PHP:

$json_str = '[{"name":"John","age":25},{"name":"Jane","age":30}]';
$arr = json_decode($json_str, true);
print_r($arr);

Hasil output ialah:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 25
        )

    [1] => Array
        (
            [name] => Jane
            [age] => 30
        )

)

Seperti yang anda boleh lihat, json_decode Fungsi () menukar rentetan JSON kepada tatasusunan PHP, yang boleh dikendalikan seperti tatasusunan PHP biasa.

Dalam pembangunan sebenar, jika kita perlu mengendalikan tatasusunan JSON, kami boleh menukarnya terlebih dahulu kepada tatasusunan PHP dan kemudian mengendalikan tatasusunan PHP. Sebagai contoh, kita boleh menggunakan gelung foreach untuk lelaran melalui setiap elemen dalam tatasusunan:

foreach ($arr as $item) {
    echo $item['name'] . ' is ' . $item['age'] . ' years old.' . PHP_EOL;
}

Hasil output ialah:

John is 25 years old.
Jane is 30 years old.

Selain menggunakan fungsi json_decode() , PHP juga menyediakan fungsi json_encode (), anda boleh menukar tatasusunan atau objek PHP ke dalam rentetan format JSON. Sintaksnya adalah seperti berikut:

string json_encode(mixed $value, int $options = 0, int $depth = 512)

Antaranya, $value ialah nilai yang akan dikodkan ke dalam format JSON, yang boleh menjadi tatasusunan PHP, objek, nombor, rentetan, dll. $options ialah nilai integer pilihan yang menentukan pilihan tingkah laku untuk fungsi json_encode(). $depth ialah integer pilihan yang menyatakan bilangan maksimum tahap bersarang Lalai ialah 512.

Berikut ialah contoh kod untuk menukar tatasusunan PHP kepada rentetan format JSON:

$arr = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Jane', 'age' => 30],
];
$json_str = json_encode($arr);
echo $json_str . PHP_EOL;

Hasil output ialah:

[{"name":"John","age":25},{"name":"Jane","age":30}]

Ia boleh didapati bahawa fungsi json_encode() Tukar tatasusunan PHP kepada rentetan format JSON.

Ringkasnya, untuk menukar rentetan tatasusunan JSON kepada tatasusunan PHP, anda boleh menggunakan fungsi json_decode(). Pada masa yang sama, jika anda perlu menukar tatasusunan PHP kepada rentetan format JSON, anda boleh menggunakan fungsi json_encode(). Dalam pembangunan sebenar, kedua-dua fungsi ini sangat berguna dan boleh membantu kami menukar data antara bahasa pengaturcaraan dan aplikasi yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan tatasusunan json kepada tatasusunan dalam php. 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