Mencari Kejadian Kedua Rentetan Menggunakan strpos
Fungsi strpos dalam PHP ialah alat yang berguna untuk mencari kedudukan kejadian pertama daripada subrentetan dalam rentetan yang lebih besar. Walau bagaimanapun, mungkin terdapat keadaan apabila anda perlu mencari kejadian kedua atau seterusnya.
Satu pendekatan untuk mencari kejadian kedua ialah menggunakan gelung atau rekursi untuk mengulang melalui rentetan dan mengira bilangan kali subrentetan muncul. Walau bagaimanapun, ini boleh menjadi tidak cekap dan memakan masa untuk rentetan yang besar.
Penyelesaian yang lebih cekap ialah menggunakan fungsi strposX, fungsi tersuai yang direka khusus untuk tujuan ini. Fungsi ini mengambil tiga parameter: timbunan jerami (rentetan yang anda cari dalam), jarum (substring yang anda cari) dan nombor (kejadian yang anda minati).
The Fungsi strposX secara rekursif memanggil dirinya sendiri untuk mencari kejadian yang ditentukan. Jika nombornya ialah 1, ia berkelakuan seperti strpos dan mengembalikan kedudukan kejadian pertama. Jika nombor lebih besar daripada 1, ia menambah panjang jarum pada kedudukan kejadian sebelumnya dan meneruskan carian.
Berikut ialah versi ringkas fungsi strposX:
function strposX($haystack, $needle, $number = 0) { return strpos($haystack, $needle, $number > 1 ? strposX($haystack, $needle, $number - 1) + strlen($needle) : 0 ); }
Fungsi ini membolehkan anda mencari dengan mudah yang kedua, ketiga atau sebarang kejadian berikutnya bagi subrentetan, menjadikannya alat yang berharga untuk tugas manipulasi rentetan dalam PHP.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Kejadian Kedua atau Seterusnya bagi String dalam PHP Menggunakan strposX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!