PHP: Pemisahan Tatasusunan Berbilang Dimensi Dipermudahkan Tanpa Gelung
Apabila berhadapan dengan tugas membelah rentetan kepada tatasusunan pelbagai dimensi, adalah perkara biasa untuk menggunakan gelung. Tetapi bagaimana jika ada cara untuk mencapainya tanpa perlu bersusah payah?
Di situlah fungsi array_map dan explode PHP datang untuk menyelamatkan. Mari kita pertimbangkan rentetan dalam format "A,5|B,3|C,8".
Untuk memisahkan rentetan ini dengan cekap, kita boleh memanfaatkan peta_tatasusunan dan meletup. Begini cara ia berfungsi:
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
Fungsi array_map berulang ke atas elemen tatasusunan yang dikembalikan oleh explode('|'), yang membahagikan rentetan kepada subrentetan individu berdasarkan aksara paip '|'. Untuk setiap subrentetan, fungsi tanpa nama (lambda) dipanggil menggunakan explode(','), membelah subrentetan selanjutnya berdasarkan koma ','. Hasilnya ialah tatasusunan, di mana setiap subarray mewakili pasangan nilai kunci dalam rentetan asal.
Dengan menggunakan pendekatan ini, anda boleh mencapai pemisahan tatasusunan berbilang dimensi yang diingini tanpa memerlukan gelung eksplisit dalam kod anda . Ia merupakan teknik yang hebat yang boleh memudahkan tugas manipulasi data PHP anda.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa walaupun kaedah ini mengurangkan keperluan untuk gelung eksplisit dalam kod anda, array_map sendiri menggunakan gelung dalaman untuk mengulangi elemen input. Oleh itu, ia tidak bebas gelung sepenuhnya tetapi masih jauh lebih cekap daripada gelung manual.
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan ke dalam Tatasusunan Multidimensi dalam PHP Tanpa Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!