Dalam PHP, tatasusunan tiga dimensi merujuk kepada tatasusunan yang mengandungi pelbagai tatasusunan dua dimensi dan setiap tatasusunan dua dimensi mengandungi berbilang tatasusunan satu dimensi. Apabila berurusan dengan tatasusunan tiga dimensi, kadangkala perlu menukarnya kepada rentetan untuk menyimpan atau menghantar data. Berikut ialah beberapa cara untuk menukar tatasusunan tiga dimensi PHP kepada rentetan.
Fungsi json_encode PHP boleh menukar tatasusunan kepada rentetan format json. Oleh itu, anda boleh menukar tatasusunan tiga dimensi kepada rentetan json dengan memanggil fungsi ini. Kod sampel adalah seperti berikut:
$threeDimensionalArray = array( array( array('a', 'b', 'c'), array('d', 'e', 'f') ), array( array('g', 'h', 'i'), array('j', 'k', 'l') ) ); $jsonString = json_encode($threeDimensionalArray);
Dalam kod di atas, $threeDimensionalArray ialah tatasusunan tiga dimensi, yang ditukarkan kepada rentetan json menggunakan fungsi json_encode dan disimpan dalam pembolehubah $jsonString. Rentetan $jsonString yang ditukar ialah:
[ [ ["a","b","c"], ["d","e","f"] ], [ ["g","h","i"], ["j","k","l"] ] ]
Fungsi bersiri PHP boleh mensiri tatasusunan menjadi rentetan untuk penyimpanan atau penghantaran yang mudah. Anda boleh menukar tatasusunan tiga dimensi kepada rentetan dengan memanggil fungsi ini. Kod sampel adalah seperti berikut:
$threeDimensionalArray = array( array( array('a', 'b', 'c'), array('d', 'e', 'f') ), array( array('g', 'h', 'i'), array('j', 'k', 'l') ) ); $serializedString = serialize($threeDimensionalArray);
Dalam kod di atas, $threeDimensionalArray ialah tatasusunan tiga dimensi, yang ditukarkan kepada rentetan menggunakan fungsi bersiri dan disimpan dalam pembolehubah $serializedString. Rentetan $serializedString yang ditukar ialah:
a:2:{i:0;a:2:{i:0;a:3:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";}i:1;a:3:{i:0;s:1:"d";i:1;s:1:"e";i:2;s:1:"f";}}i:1;a:2:{i:0;a:3:{i:0;s:1:"g";i:1;s:1:"h";i:2;s:1:"i";}i:1;a:3:{i:0;s:1:"j";i:1;s:1:"k";i:2;s:1:"l";}}}
Fungsi letupan PHP boleh menggabungkan tatasusunan menjadi rentetan Anda boleh memanggil fungsi ini Tukar tiga-. tatasusunan dimensi kepada rentetan. Kod sampel adalah seperti berikut:
$threeDimensionalArray = array( array( array('a', 'b', 'c'), array('d', 'e', 'f') ), array( array('g', 'h', 'i'), array('j', 'k', 'l') ) ); $flattenedArray = array(); foreach ($threeDimensionalArray as $array2) { foreach ($array2 as $array1) { $flattenedArray[] = implode(',', $array1); } } $implodedString = implode('|', $flattenedArray);
Dalam kod di atas, $threeDimensionalArray ialah tatasusunan tiga dimensi Ia mula-mula ditukar kepada tatasusunan satu dimensi $flattenedArray melalui gelung berganda, dan kemudian fungsi implode. digunakan untuk menyambung tatasusunan $flattenedArray ke rentetan $implodedString. Rentetan $implodedString yang ditukar ialah:
a,b,c,d,e,f|g,h,i,j,k,l
Ringkasan
Terdapat tiga cara utama untuk menukar tatasusunan tiga dimensi kepada rentetan dalam PHP: menggunakan fungsi json_encode, menggunakan fungsi bersiri dan menggunakan fungsi meletup. Menggunakan json_encode dan fungsi bersiri boleh mengekalkan maklumat struktur tatasusunan dan menyokong tatasusunan berbilang dimensi, tetapi rentetan yang dijana agak bertele-tele dan menyusahkan untuk dibaca dan diubah suai secara manual. Menggunakan fungsi implode boleh meratakan tatasusunan berbilang dimensi dan menjana rentetan yang lebih ringkas, tetapi pemprosesan tambahan diperlukan untuk memulihkan maklumat struktur tatasusunan asal.
Atas ialah kandungan terperinci php tatasusunan tiga dimensi kepada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!