Mencari Kejadian Perkataan dalam Rentetan dengan PHP
Soalan:
Bagaimana anda boleh menentukan jika perkataan tertentu wujud dalam rentetan tertentu?
Jawapan:
PHP menyediakan beberapa kaedah untuk menyemak kejadian perkataan:
strpos () dan stripos() Fungsi:
Fungsi ini mencari kejadian pertama rentetan dalam rentetan lain. Jika ditemui, mereka mengembalikan indeks watak perlawanan. Jika tidak, mereka kembali palsu. Untuk menyemak kewujudan, bandingkan nilai pulangan dengan false:
<code class="php">$needle = 'to'; $haystack = 'I go to school'; if (strpos($haystack, $needle) !== false) { echo 'Found!'; }</code>
strstr() dan stristr() Fungsi:
Fungsi ini mengembalikan bahagian timbunan jerami selepas kejadian pertama jarum. Jika jarum tidak dijumpai, mereka kembali palsu. Untuk menyemak kewujudan, semak sama ada nilai yang dikembalikan bukan palsu:
<code class="php">if (strstr($haystack, $needle)) { echo 'Found!'; }</code>
preg_match() Fungsi:
Preg_match menggunakan ungkapan biasa untuk mencari padanan. Ia mengembalikan 1 untuk perlawanan yang berjaya, 0 untuk tiada padanan, atau palsu sekiranya berlaku ralat. Untuk menyemak kewujudan, bandingkan nilai pulangan dengan 1:
<code class="php">if (preg_match('/to/', $haystack)) { echo 'Found!'; }</code>
str_contains() Fungsi (PHP 8.0 ):
Diperkenalkan dalam PHP 8.0, fungsi ini secara langsung menyemak sama ada satu rentetan mengandungi yang lain. Ia kembali benar jika jarum ditemui, dan palsu sebaliknya:
<code class="php">if (str_contains($haystack, $needle)) { echo 'Found!'; }</code>
Untuk kesederhanaan dan keterusterangan, strpos() ialah pilihan yang sesuai untuk tujuan ini. Jika operasi tambahan perlu dilakukan pada keputusan, strstr() atau preg_match() mungkin lebih sesuai. Untuk padanan corak yang tepat, preg_match() memberikan fleksibiliti yang lebih besar.
Atas ialah kandungan terperinci Bagaimana untuk mencari kejadian perkataan dengan cekap dalam rentetan menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!