Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencari Kejadian Kedua atau Seterusnya bagi String dalam PHP Menggunakan strposX?

Bagaimana untuk Mencari Kejadian Kedua atau Seterusnya bagi String dalam PHP Menggunakan strposX?

Patricia Arquette
Lepaskan: 2024-10-18 14:47:03
asal
1034 orang telah melayarinya

How to Find the Second or Subsequent Occurrence of a String in PHP Using strposX?

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
  );
}
Salin selepas log masuk

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!

sumber: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