Dalam PHP, kita boleh menggunakan beberapa fungsi atau kaedah untuk menukar tatasusunan dalam format rentetan kepada pembolehubah tatasusunan sebenar dengan mudah. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah dan fungsi yang biasa digunakan.
Contohnya:
$str = "[1,2,3]"; $array = eval("return $str;"); print_r($array);
Dalam contoh di atas, kami menetapkan tatasusunan "[1,2,3]" yang mengandungi 3 elemen kepada pembolehubah rentetan $str, Kemudian gunakan eval () untuk melaksanakan pembolehubah rentetan sebagai kod boleh laku, dan akhirnya mendapatkan tatasusunan sebenar $array Anda boleh menggunakan fungsi print_r() untuk mencetak hasilnya adalah seperti berikut:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Walaupun eval(. ) fungsi boleh Sangat mudah untuk menukar rentetan tatasusunan kepada tatasusunan, tetapi ia juga membawa risiko keselamatan tertentu kerana ia boleh melaksanakan kod sewenang-wenangnya, termasuk kod berniat jahat, jadi eval() tidak disyorkan.
Contohnya:
$str = "[1,2,3]"; $array = json_decode($str); print_r($array);
Dalam contoh di atas, kami menggunakan fungsi json_decode() untuk menukar pembolehubah rentetan $str ke dalam pembolehubah tatasusunan $array, dan akhirnya mendapat yang sebenar tatasusunan, Anda boleh menggunakan fungsi print_r() untuk mencetak keputusan adalah seperti berikut:
Array ( [0] => 1 [1] => 2 [2] => 3 )
fungsi json_decode() juga mempunyai parameter pilihan $assoc Apabila parameter $assoc ditetapkan kepada benar. tatasusunan yang dikembalikan akan menjadi tatasusunan indeks bukan angka. Contohnya:
$str = '{"name":"Tom","age":18}'; $array = json_decode($str,true); print_r($array);
Dalam contoh di atas, kami menukar rentetan JSON "$str" yang mengandungi dua pasangan nilai kunci "nama" dan "umur" kepada tatasusunan bersekutu "$array". berikut :
Array ( [name] => Tom [age] => 18 )
Oleh itu, jika anda perlu menukar tatasusunan dalam format rentetan kepada tatasusunan bersekutu, anda boleh menetapkan parameter $assoc kepada benar.
Contohnya:
$str = "1,2,3"; $array = explode(",", $str); print_r($array);
Dalam contoh di atas, kami menukar rentetan dipisahkan koma "1,2,3" kepada tatasusunan, menggunakan fungsi explode() kepada The koma digunakan sebagai pembatas untuk membelah, dan akhirnya tatasusunan sebenar diperolehi Fungsi print_r() boleh digunakan untuk mencetak hasilnya adalah seperti berikut:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Perlu diingat bahawa menggunakan. fungsi explode() hanya terpakai apabila pembatas adalah Dalam kes nilai tetap, jika pembatas tidak tetap atau tatasusunan berbilang dimensi perlu dihuraikan, kaedah lain perlu digunakan.
Ringkasnya, tiga kaedah di atas boleh digunakan untuk menukar tatasusunan dalam format rentetan kepada pembolehubah tatasusunan sebenar. Dalam penggunaan sebenar, kita perlu memilih kaedah yang sesuai mengikut situasi tertentu. Apabila format rentetan tatasusunan agak piawai dan tidak akan tertakluk kepada serangan keselamatan, sebaiknya gunakan fungsi json_decode() apabila format rentetan tatasusunan agak bebas atau apabila tatasusunan berbilang dimensi perlu dihuraikan , kaedah lain boleh digunakan.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan tatasusunan kepada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!