Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar rentetan tatasusunan kepada tatasusunan dalam php

Bagaimana untuk menukar rentetan tatasusunan kepada tatasusunan dalam php

PHPz
Lepaskan: 2023-04-27 14:46:46
asal
929 orang telah melayarinya

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.

  1. Gunakan fungsi eval
    Gunakan fungsi terbina dalam PHP eval() untuk melaksanakan rentetan sebagai kod boleh laku, jadi anda boleh menggunakan fungsi eval untuk menukar tatasusunan dalam format rentetan menjadi tatasusunan sebenar.

Contohnya:

$str = "[1,2,3]";
$array = eval("return $str;");
print_r($array);
Salin selepas log masuk

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
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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.

  1. Gunakan fungsi json_decode
    Dalam PHP, kita juga boleh menggunakan fungsi json_decode() untuk menukar tatasusunan dalam format rentetan kepada pembolehubah tatasusunan sebenar.

Contohnya:

$str = "[1,2,3]";
$array = json_decode($str);
print_r($array);
Salin selepas log masuk

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
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

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
)
Salin selepas log masuk

Oleh itu, jika anda perlu menukar tatasusunan dalam format rentetan kepada tatasusunan bersekutu, anda boleh menetapkan parameter $assoc kepada benar.

  1. Gunakan fungsi explode
    Gunakan fungsi PHP terbina dalam explode() untuk memisahkan rentetan yang dipisahkan oleh pembatas tertentu kepada tatasusunan.

Contohnya:

$str = "1,2,3";
$array = explode(",", $str);
print_r($array);
Salin selepas log masuk

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
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan