Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Rentetan kepada Tatasusunan Bersekutu Menggunakan Fungsi Tatasusunan?

Bagaimana untuk Menukar Rentetan kepada Tatasusunan Bersekutu Menggunakan Fungsi Tatasusunan?

DDD
DDDasal
2024-10-22 06:24:03757semak imbas

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>

Output:

Array
(
    [1] => 350
    [9] => 390.99
)

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!

Kenyataan:
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