Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencari Kejadian Kedua Rentetan dalam PHP Menggunakan Kaedah Alternatif?
Sebagai respons kepada pertanyaan mengenai cara mencari kejadian kedua rentetan menggunakan fungsi strpos , yang biasanya digunakan untuk mencari kejadian pertama, kami membentangkan penyelesaian alternatif.
Kod yang disediakan mentakrifkan fungsi tersuai, strposX, yang membolehkan mendapatkan semula kejadian Xth subrentetan dalam rentetan tertentu. Fungsi ini mengambil tiga parameter: $haystack (rentetan sumber), $needle (subrentetan untuk ditempatkan) dan $number, yang mewakili kejadian yang diingini untuk ditemui.
Untuk senario kejadian yang diingini ialah yang kedua (iaitu, $number ialah 2), fungsi strposX secara rekursif memanggil dirinya sendiri untuk mengenal pasti kedudukan kejadian pertama subrentetan, menambah panjang subrentetan pada kedudukan itu, dan menggunakan strpos untuk mencari kejadian kedua dalam baki bahagian rentetan.
Berikut ialah versi ringkas kod:
<code class="php">function strposX($haystack, $needle, $number = 0) { return strpos($haystack, $needle, $number > 1 ? strposX($haystack, $needle, $number - 1) + strlen($needle) : 0 ); }</code>
Menggunakan fungsi ini, seseorang boleh dengan mudah mendapatkan kejadian kedua subrentetan dalam rentetan, menawarkan yang serba boleh penyelesaian di luar pengenalpastian kejadian pertama standard yang disediakan oleh strpos.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Kedua Rentetan dalam PHP Menggunakan Kaedah Alternatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!