Penukaran tatasusunan berbilang dimensi PHP
Dalam pembangunan PHP, kami sering menggunakan tatasusunan berbilang dimensi. Tatasusunan berbilang dimensi ialah struktur data yang sangat biasa dalam PHP, terutamanya apabila menyimpan data bersarang. Walau bagaimanapun, apabila kita perlu menukar tatasusunan berbilang dimensi kepada pengekodan JSON atau URL, kami menghadapi masalah, iaitu cara mengekod tatasusunan berbilang dimensi.
Dalam artikel ini, kami akan memperkenalkan pelaksanaan khusus penukaran tatasusunan berbilang dimensi kepada pengekodan melalui kod sampel.
tatasusunan berbilang dimensi yang dikodkan JSON
Untuk menukar tatasusunan berbilang dimensi kepada format JSON, anda boleh menggunakan fungsi json_encode() yang disertakan dengan PHP. Fungsi ini boleh menukar nilai PHP kepada rentetan berformat JSON.
Berikut ialah contoh kod yang menunjukkan cara menggunakan fungsi json_encode() untuk menukar tatasusunan berbilang dimensi ke dalam format JSON:
$multidimensionalArray = [ 'foo' => 'bar', 'fruit' => ['apple', 'banana', 'orange'], 'veggie' => ['carrot', 'collard', 'pea'] ]; $jsonData = json_encode($multidimensionalArray); echo $jsonData;
Kod di atas akan mengeluarkan keputusan berikut :
{ "foo":"bar", "fruit":["apple","banana","orange"], "veggie":["carrot","collard","pea"] }
Seperti yang ditunjukkan di atas, hasil pengembalian fungsi json_encode() ialah rentetan dalam format JSON, di mana tatasusunan berbilang dimensi ditukar kepada format JSON. Ambil perhatian bahawa format pengekodan lalai bagi fungsi ini ialah UTF-8 Jika anda perlu mengeluarkan JSON dalam pengekodan lain, anda boleh menentukan parameter kedua.
URL berkod tatasusunan berbilang dimensi
Dalam sesetengah kes, kami perlu menukar tatasusunan berbilang dimensi kepada format yang dikodkan URL. Format pengekodan URL boleh dilaksanakan melalui fungsi http_build_query() dalam PHP.
Fungsi http_build_query() adalah untuk mengekod elemen dalam tatasusunan ke dalam rentetan URL. Sebagai contoh, anda boleh membina rentetan URL dengan menggabungkan nilai dengan tanda sama dan pasangan nilai kunci dengan &.
Berikut ialah contoh kod yang menunjukkan cara menggunakan fungsi http_build_query() untuk menukar tatasusunan berbilang dimensi kepada format yang dikodkan URL:
$multidimensionalArray = [ 'foo' => 'bar', 'fruit' => ['apple', 'banana', 'orange'], 'veggie' => ['carrot', 'collard', 'pea'] ]; $urlData = http_build_query($multidimensionalArray); echo $urlData;
Kod di atas akan dikeluarkan keputusan berikut:
foo=bar&fruit%5B0%5D=apple&fruit%5B1%5D=banana&fruit%5B2%5D=orange&veggie%5B0%5D=carrot&veggie%5B1%5D=collard&veggie%5B2%5D=pea
Seperti yang ditunjukkan di atas, hasil pengembalian fungsi http_build_query() ialah rentetan dalam format yang dikodkan URL, di mana tatasusunan berbilang dimensi ditukar kepada format yang dikodkan URL. Ambil perhatian bahawa secara lalai, fungsi http_build_query() akan mengekod kedua-dua kunci dan nilai tatasusunan. Jika anda perlu mengelakkan pengekodan ini, anda juga boleh menentukan parameter kedua sebagai palsu, supaya hanya nilai yang akan dikodkan.
Ringkasnya, apabila kita perlu menukar tatasusunan berbilang dimensi kepada pengekodan JSON atau URL, kita boleh menggunakan fungsi json_encode() dan fungsi http_build_query() PHP sendiri. Kedua-dua fungsi ini masing-masing boleh menukar tatasusunan berbilang dimensi kepada JSON atau rentetan berkod URL dan digunakan secara meluas.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan berbilang dimensi php kepada pengekodan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!