Memisahkan Rentetan kepada Tatasusunan Berbilang Dimensi dalam PHP Tanpa Gelung
Untuk memisahkan rentetan kepada tatasusunan berbilang dimensi dalam PHP tanpa bergantung pada struktur lelaran , gabungan fungsi tatasusunan boleh digunakan untuk mencapai hasil yang diinginkan. Pertimbangkan rentetan dalam format "A,5|B,3|C,8" sebagai contoh.
Menggunakan peta_susun dan meletup, anda boleh menyelesaikan tugas ini dengan cekap. Sebagai contoh, dalam PHP 5.3 dan ke atas, coretan kod berikut boleh digunakan:
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
Coretan kod ini bermula dengan membelah rentetan input kepada tatasusunan subrentetan menggunakan fungsi letupan, yang memisahkan rentetan di watak paip. Kemudian, array_map digunakan untuk menggunakan fungsi explode pada setiap subrentetan, seterusnya membahagikannya kepada tatasusunan dua elemen: elemen pertama yang mengandungi huruf dan elemen kedua yang mengandungi nombor.
Hasilnya ialah tatasusunan berbilang dimensi di mana setiap tatasusunan dalam sepadan dengan sepasang tunggal huruf dan nombor daripada rentetan input:
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
Walaupun penyelesaian ini menghapuskan gelung eksplisit dalam kod pengguna, adalah penting untuk ambil perhatian bahawa secara dalaman, array_map masih menggunakan gelung untuk lelaran ke atas tatasusunan input. Oleh itu, ketiadaan gelung dalam kod yang dibentangkan tidak membayangkan ketiadaan gelung sama sekali.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan kepada Tatasusunan Multidimensi dalam PHP Tanpa Gelung Eksplisit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!