Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar rentetan menjadi objek tatasusunan dalam php
Apabila membangunkan aplikasi web, kita selalunya perlu menghuraikan dan memproses data rentetan yang diterima dari bahagian hadapan, dan rentetan ini mungkin rentetan yang dipisahkan oleh simbol tertentu, kita perlu menukar rentetan ini kepada objek Array untuk memudahkan manipulasi dan pemprosesan. Dalam PHP, terdapat banyak cara untuk menukar rentetan kepada objek tatasusunan Di bawah ini kami memperkenalkan secara ringkas beberapa kaedah yang biasa digunakan.
PHP menyediakan fungsi explode
, yang digunakan untuk menguraikan rentetan kepada berbilang elemen tatasusunan mengikut pembatas yang ditentukan fungsi Format sintaks adalah seperti berikut:
array explode(string $separator, string $string, int $limit);
Fungsi ini menerima tiga parameter, dengan $separator
ialah pembatas, yang boleh menjadi rentetan atau aksara, atau rentetan yang terdiri daripada berbilang pembatas; ialah rentetan yang perlu diuraikan; $string
digunakan untuk mengehadkan bilangan penguraian Jika parameter ini tidak ditentukan, keseluruhan rentetan akan diuraikan menjadi elemen tatasusunan. $limit
untuk menukar rentetan kepada tatasusunan satu dimensi. Katakan kita mempunyai rentetan explode
, yang mengandungi berbilang perkataan yang dipisahkan dengan koma Kita perlu menguraikannya menjadi tatasusunan satu dimensi Kodnya adalah seperti berikut: $str
$str = "apple, banana, orange, pear"; $arr = explode(", ", $str); print_r($arr);Selepas melaksanakan kod. hasilnya adalah output Seperti berikut:
Array ( [0] => apple [1] => banana [2] => orange [3] => pear )Seperti yang anda lihat, fungsi
meletakkan setiap rentetan terurai ke dalam tatasusunan sebagai elemen tatasusunan. Dengan cara ini kita boleh memproses dan menyimpan data ini dengan mudah melalui operasi tatasusunan. explode
untuk mengurai Untuk melaksanakan operasi tatasusunan, yang lain ialah menggunakan fungsi explode
untuk menukar rentetan format JSON kepada objek tatasusunan. Di bawah ini kami akan memperkenalkan kedua-dua kaedah ini masing-masing. json_decode
explode
fungsi menjana tatasusunan dua dimensi selepas penguraian dan penyambungan. Mari kita tunjukkan dengan contoh khusus Katakan kita mempunyai rentetan explode
, yang formatnya ialah: $str
apple,10 banana,20 orange,30 pear,40Dalam setiap baris data, perkataan pertama yang dipisahkan dengan koma ialah nama, yang kedua ialah nombor buah-buahan. Kita perlu menukar data ini kepada tatasusunan dua dimensi Kod adalah seperti berikut:
$str = "apple,10\nbanana,20\norange,30\npear,40"; $rows = explode("\n", $str); foreach ($rows as $row) { $arr = explode(",", $row); $data[] = ["name" => $arr[0], "count" => $arr[1]]; } print_r($data);Selepas melaksanakan kod, hasil output adalah seperti berikut:
Array ( [0] => Array ( [name] => apple [count] => 10 ) [1] => Array ( [name] => banana [count] => 20 ) [2] => Array ( [name] => orange [count] => 30 ) [3] => Array ( [name] => pear [count] => 40 ) )Sebagaimana. anda boleh lihat, kami mula-mula menggunakan
Fungsi menguraikan keseluruhan rentetan menjadi tatasusunan baris mengikut aksara baris baharu, dan kemudian menggunakan fungsi explode
dalam setiap baris data untuk menguraikan data menjadi tatasusunan nilai kunci mengikut koma , dan akhirnya memberikan setiap tatasusunan nilai kunci kepada tatasusunan baru dalam tatasusunan dua dimensi. Kaedah ini agak mudah dan praktikal, tetapi ia memerlukan kita meramalkan format data dan pembatas setiap baris data terlebih dahulu. explode
json_decode
untuk menukarnya menjadi objek tatasusunan, maka kami Anda boleh memproses data dengan mudah dalam sebarang format. Kod khusus adalah seperti berikut: json_decode
$str = '[{"name":"apple","count":10},{"name":"banana","count":20},{"name":"orange","count":30},{"name":"pear","count":40}]'; $data = json_decode($str, true); print_r($data);Selepas melaksanakan kod, hasil output adalah seperti berikut:
Array ( [0] => Array ( [name] => apple [count] => 10 ) [1] => Array ( [name] => banana [count] => 20 ) [2] => Array ( [name] => orange [count] => 30 ) [3] => Array ( [name] => pear [count] => 40 ) )Seperti yang anda lihat, kami mula-mula menyusun data menjadi JSON rentetan format, dan kemudian gunakan
Fungsi menukarnya menjadi objek tatasusunan. Kaedah ini boleh mengendalikan data dalam sebarang format, dan boleh menghuraikan dan memproses data format JSON yang dihantar dari bahagian hadapan, yang sangat praktikal untuk pembangunan web. json_decode
yang disediakan dalam PHP Untuk mencipta objek kosong dan membina objek data melalui penetapan harta. Kod khusus adalah seperti berikut: stdclass
$str = '{"name":"张三","age":20,"gender":"男"}'; $obj = json_decode($str); print_r($obj); echo $obj->name;Selepas melaksanakan kod, hasil output adalah seperti berikut:
stdClass Object ( [name] => 张三 [age] => 20 [gender] => 男 ) 张三Seperti yang anda lihat, kami mula-mula menggunakan fungsi
untuk menukar rentetan format JSON kepada Objek Dalam objek ini, nama atribut ialah nilai kunci dalam data JSON dan nilai atribut ialah nilai yang sepadan dalam data JSON. Kami boleh mengakses atau mengubah suai nilai harta ini melalui sifat. json_decode
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan menjadi objek tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!