Menukar Rentetan Dipisahkan Koma bagi Ungkapan Kunci=Nilai kepada Tatasusunan Bersekutu
Menghuraikan rentetan pasangan nilai kunci yang dipisahkan koma menjadi tatasusunan bersekutu boleh menjadi tugas yang membosankan. Walaupun kaedah yang dicadangkan untuk menggunakan explode() dan foreach mungkin mudah, ia boleh menjadi tidak cekap untuk rentetan yang lebih besar.
Pendekatan Lebih Cekap Menggunakan Ungkapan Biasa
A lagi penyelesaian yang elegan dan cekap ialah memanfaatkan ungkapan biasa:
$str = "key=value, key2=value2"; preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); $result = array_combine($r[1], $r[2]); var_dump($result);
Pendekatan ini menggunakan fungsi preg_match_all() untuk mengekstrak semua padanan pasangan nilai kunci menggunakan corak regex ([^,= ] )=([^,= ] ). Padanan yang terhasil disimpan dalam tatasusunan $r dengan kunci disimpan dalam $r[1] dan nilai dalam $r[2]. Akhir sekali, fungsi array_combine() menggabungkan kekunci dan nilai untuk mencipta tatasusunan bersekutu yang diingini.
Rentetan contoh yang disediakan dalam soalan akan menghasilkan tatasusunan bersekutu berikut:
array( "key" => "value", "key2" => "value2" )
Ini kaedah menawarkan penyelesaian ringkas dan berprestasi untuk menghuraikan rentetan nilai kunci yang dipisahkan koma.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Kunci yang Dipisahkan Koma dengan Cekap = Rentetan Nilai kepada Tatasusunan Bersekutu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!