Letupan Tatasusunan dari Kanan ke Kiri: Pemisah Pembatas Terakhir
Dalam PHP, fungsi explode() biasanya digunakan untuk membelah rentetan berdasarkan pembatas yang ditentukan. Walau bagaimanapun, jika anda perlu membelah rentetan hanya pada kejadian terakhir bagi pembatas tertentu, anda mungkin menghadapi kesamaran.
Sebagai contoh, pertimbangkan senario berikut:
<code class="php">$split_point = ' - '; $string = 'this is my - string - and more';</code>
Jika anda untuk menggunakan explode() terus pada rentetan ini, anda akan mendapat hasil berikut:
<code class="php">$item[0] = 'this is my'; $item[1] = 'string - and more';</code>
Walau bagaimanapun, ini bukan output yang diingini kerana kami hanya mahu berpecah pada contoh kedua pembatas. Untuk mencapainya, kita boleh menggunakan pendekatan yang sedikit berbeza menggunakan fungsi strrev().
<code class="php">$split_point = ' - '; $string = 'this is my - string - and more'; $result = array_map('strrev', explode($split_point, strrev($string)));</code>
Begini cara ini berfungsi:
Pendekatan ini menghasilkan output berikut:
<code class="php">array ( 0 => 'and more', 1 => 'string', 2 => 'this is my', )</code>
Dengan membalikkan rentetan dan kemudian membelah, kami pada asasnya mengubah carian menjadi kiri-ke -operasi kanan dari hujung rentetan, membolehkan kami menangkap tika terakhir pembatas.
Atas ialah kandungan terperinci Cara Meletupkan Tatasusunan dari Kanan ke Kiri: Pemisahan pada Pembatas Terakhir dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!