Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mencari Rentetan untuk Berbilang Subrentetan Dengan Cekap Menggunakan PHP?

Bagaimanakah Saya Boleh Mencari Rentetan untuk Berbilang Subrentetan Dengan Cekap Menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-12-15 03:15:10
asal
980 orang telah melayarinya

How Can I Efficiently Search a String for Multiple Substrings Using PHP?

Menggunakan Tatasusunan untuk Mencari Rentetan dengan strpos

Fungsi strpos biasanya digunakan untuk mencari kedudukan subrentetan dalam rentetan. Walau bagaimanapun, kadangkala boleh berguna untuk mencari berbilang subrentetan secara serentak menggunakan tatasusunan jarum.

Masalahnya

Malangnya, pelaksanaan standard strpos tidak membenarkan kami untuk melepasi pelbagai jarum. Percubaan untuk berbuat demikian, seperti yang dilihat dalam contoh yang diberikan, akan menghasilkan hasil yang tidak memuaskan.

Penyelesaian

Nasib baik, fungsi tersuai boleh dibuat untuk melanjutkan fungsi daripada strpos dan menampung tatasusunan jarum. Coretan kod berikut, diilhamkan oleh sumbangan daripada komuniti PHP, menyediakan penyelesaian:

function strposa(string $haystack, array $needles, int $offset = 0): bool 
{
    foreach($needles as $needle) {
        if(strpos($haystack, $needle, $offset) !== false) {
            return true; // stop on first true result
        }
    }

    return false;
}
Salin selepas log masuk

Penggunaan

Untuk menggunakan fungsi ini, anda boleh lulus rentetan jerami , tatasusunan jarum dan offset pilihan sebagai parameter. Contohnya:

$string = 'This string contains word "cheese" and "tea".';
$array  = ['burger', 'melon', 'cheese', 'milk'];
var_dump(strposa($string, $array)); // will return true, since "cheese" has been found
Salin selepas log masuk

Ini akan mencari rentetan untuk kehadiran mana-mana jarum dalam tatasusunan. Jika sebarang jarum ditemui, fungsi akan kembali benar, menghentikan lelaran selanjutnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Rentetan untuk Berbilang Subrentetan Dengan Cekap Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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