Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencari Kejadian Kedua Rentetan dalam PHP Menggunakan Kaedah Alternatif?

Bagaimana untuk Mencari Kejadian Kedua Rentetan dalam PHP Menggunakan Kaedah Alternatif?

Linda Hamilton
Lepaskan: 2024-10-18 14:46:02
asal
1101 orang telah melayarinya

How to Find the Second Occurrence of a String in PHP Using an Alternative Method?

Mencari Kejadian Kedua Rentetan Menggunakan strpos: Pendekatan 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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan