Menghuraikan Ungkapan Nilai Kunci daripada Rentetan Dipisahkan Koma
Menukar rentetan ungkapan nilai kunci yang dipisahkan koma kepada tatasusunan bersekutu ialah tugas biasa dalam PHP. Pendekatan mudah mungkin melibatkan meletupkan rentetan ke dalam tatasusunan, memangkas setiap elemen, dan kemudian memisahkan setiap elemen kepada kunci dan nilai menggunakan letupan lain. Walau bagaimanapun, terdapat cara yang lebih cekap untuk mencapainya menggunakan ungkapan biasa.
Memandangkan rentetan seperti "key=value, key2=value2", berikut ialah cara anda boleh menghuraikannya dengan regex:
$str = "key=value, key2=value2"; preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); $result = array_combine($r[1], $r[2]); var_dump($result);
Corak regex /([^,= ] )=([^,= ] )/ sepadan dengan sebarang jujukan bukan ruang, bukan koma dan aksara bukan sama diikuti dengan tanda sama (=), diikuti dengan urutan lain bukan ruang, bukan koma dan bukan sama. Fungsi preg_match_all kemudiannya digunakan untuk memadankan corak dalam rentetan dan menangkap kumpulan yang dipadankan dalam tatasusunan ($r). Akhir sekali, fungsi array_combine digunakan untuk menggabungkan kumpulan ditangkap pertama dan kedua ($r[1] dan $r[2]) sebagai kunci dan nilai tatasusunan bersekutu.
Pendekatan ini menghuraikan kunci- dengan cekap ungkapan nilai dalam satu padanan ungkapan biasa, tanpa memerlukan pelbagai transformasi tatasusunan atau gelung. Hasilnya ialah tatasusunan bersekutu yang dibina dengan kemas di mana setiap kunci dipetakan kepada nilai masing-masing.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Pasangan Nilai Kunci dengan Cekap daripada Rentetan Dipisahkan Koma dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!