Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menukar Kunci yang Dipisahkan Koma dengan Cekap = Rentetan Nilai kepada Tatasusunan Bersekutu?

Bagaimanakah Saya Boleh Menukar Kunci yang Dipisahkan Koma dengan Cekap = Rentetan Nilai kepada Tatasusunan Bersekutu?

Susan Sarandon
Lepaskan: 2024-12-04 00:30:11
asal
183 orang telah melayarinya

How Can I Efficiently Convert a Comma-Separated Key=Value String into an Associative Array?

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

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

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!

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