Bagaimana untuk Menukar Rentetan kepada Tatasusunan Bersekutu Menggunakan Fungsi Tatasusunan?

DDD
Lepaskan: 2024-10-22 06:24:03
asal
756 orang telah melayarinya

How to Convert a String to an Associative Array Using Array Functions?

Tukar String kepada Tatasusunan Bersekutu dengan Fungsi Tatasusunan

Dalam PHP, keperluan sering timbul untuk mengubah rentetan yang mengandungi pasangan nilai kunci menjadi tatasusunan bersekutu. Pertimbangkan rentetan seperti "1-350,9-390.99", di mana setiap elemen dipisahkan oleh tanda sempang dan koma. Matlamatnya adalah untuk mencipta tatasusunan bersekutu di mana nombor pertama dalam setiap elemen menjadi kunci, dan nombor kedua menjadi nilai.

Mencapai penukaran ini boleh dilakukan dengan cekap menggunakan fungsi tatasusunan terbina dalam PHP. Langkah pertama melibatkan pembahagian rentetan kepada tatasusunan individu menggunakan preg_split("/[-,]/", $input), yang memisahkan nombor dengan sempang dan koma. Hasilnya ialah senarai sub-tatasusunan, masing-masing mengandungi kunci dan nilai.

Seterusnya, kami menggunakan array_chunk untuk mengumpulkan sub-tatasusunan ini kepada ketulan dua, memastikan satu elemen memegang kunci dan satu lagi memegang nilainya. Akhir sekali, array_column digunakan untuk mengekstrak kunci dan nilai ke dalam tatasusunan berasingan. Menggunakan array_combine pada tatasusunan ini menghasilkan tatasusunan bersekutu yang diingini.

Coretan Kod:

<code class="php">$input  = '1-350,9-390.99';

$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));</code>
Salin selepas log masuk

Output:

Array
(
    [1] => 350
    [9] => 390.99
)
Salin selepas log masuk

Kaedah ini menukar rentetan secara berkesan menjadi tatasusunan bersekutu tanpa menggunakan gelung, mempamerkan kuasa fungsi tatasusunan PHP.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan kepada Tatasusunan Bersekutu Menggunakan Fungsi Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!