Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan fungsi str_contains() dalam PHP8 untuk mencapai padanan rentetan pantas

Gunakan fungsi str_contains() dalam PHP8 untuk mencapai padanan rentetan pantas

王林
王林asal
2023-05-17 18:31:361736semak imbas

Dengan perkembangan Internet, pemprosesan rentetan telah menjadi tugas biasa dalam pengaturcaraan. Untuk menyelesaikan masalah padanan rentetan, PHP8 memperkenalkan fungsi baharu str_contains(), yang boleh mengembalikan dengan cepat sama ada rentetan mengandungi rentetan tertentu. Fungsi ini akan menjadi alat yang sangat berguna untuk pembangun yang perlu melakukan pemadanan rentetan dengan kerap.

1. Penggunaan asas fungsi str_contains()
Fungsi str_contains() digunakan untuk menentukan sama ada rentetan mengandungi rentetan yang ditentukan adalah seperti berikut:

bool str_contains(. string $haystack, string $needle )
Di mana, $haystack mewakili rentetan asal, dan $needle mewakili rentetan yang akan dikesan. Jika rentetan asal mengandungi rentetan yang ditentukan, fungsi mengembalikan benar, jika tidak ia mengembalikan palsu.

Berikut ialah beberapa contoh:

Contoh 1:

$str1 = "Hello World!";
if (str_contains($str1, "World")) {

echo "The string contains the word 'World'";

} lain {

echo "The string does not contain the word 'World'";

}

$hastack dalam contoh ini ialah "Hello World!" dan $needle ialah "World". Memandangkan $haystack mengandungi $needle, fungsi akan mengembalikan true dan mencetak rentetan "Rentetan mengandungi perkataan 'Dunia'".

Contoh 2:

$str2 = "Hello World!";
jika (str_contains($str2, "Universe")) {

echo "The string contains the word 'Universe'";

} lain {

echo "The string does not contain the word 'Universe'";

}

Dalam contoh ini, $haystack ialah "Hello World!" dan $needle ialah "Universe". Oleh kerana $haystack tidak mengandungi $needle, fungsi akan mengembalikan palsu dan mencetak rentetan "Rentetan tidak mengandungi perkataan 'Universe'".

2. Kelebihan fungsi str_contains()
Sebelum ini, PHP sudah mempunyai fungsi strstr() dan strpos(), yang digunakan untuk mencari subrentetan dalam rentetan dan mengembalikan kedudukannya. Walau bagaimanapun, fungsi str_contains() mempunyai kelebihan berikut:

  1. Kod yang lebih ringkas
    Menggunakan fungsi str_contains(), hanya satu baris kod diperlukan untuk menyelesaikan tugas pemadanan rentetan . Contohnya:

if (str_contains($str, "needle")) {

// Code to execute if the string contains "needle"

}

Sebagai perbandingan, gunakan strstr() atau strpos( ) fungsi, anda perlu melakukan pertimbangan bersyarat if pada nilai pulangan sebelum anda boleh menentukan sama ada perlawanan itu berjaya.

  1. Kod yang lebih intuitif
    Penamaan fungsi str_contains() adalah sangat intuitif, dan penggunaannya lebih selaras dengan tabiat semula jadi pengaturcara. Berbanding dengan fungsi lain, pembangun yang menggunakan fungsi ini tidak perlu membaca dokumen fungsi untuk mencari nilai parameter yang sesuai, dan ia lebih dikenali apabila digunakan secara langsung.
  2. Prestasi yang lebih tinggi
    Selepas ujian, prestasi fungsi str_contains() adalah setanding atau lebih baik daripada fungsi pemadanan rentetan sebelumnya. Dalam kes volum data yang besar, fungsi str_contains() boleh memberikan kelajuan pemadanan yang lebih pantas kerana pelaksanaan dalamannya menggunakan algoritma yang lebih cekap.

3. Bagaimana untuk memindahkan projek untuk menggunakan fungsi str_contains()
Jika anda ingin menggunakan fungsi str_contains() dalam projek anda, anda perlu memastikan bahawa versi PHP telah dinaik taraf kepada 8.0 atau ke atas. Setelah naik taraf selesai, anda perlu mengubah suai lokasi dalam projek anda di mana fungsi strstr() atau strpos() digunakan.

Pertama sekali, anda perlu memilih lokasi yang perlu dikemas kini berdasarkan situasi sebenar projek. Jika anda perlu menggunakan fungsi dalam jumlah kod yang banyak, anda boleh menggunakan fungsi carian dan ganti untuk mengubah suai panggilan fungsi lama kepada panggilan fungsi baharu.

Sebagai contoh, tukar panggilan kepada fungsi $strstr():

if (strstr($haystack, $needle)) {

// ...

}

Ubah suai Panggil fungsi $str_contains():

if (str_contains($haystack, $needle)) {

// ...

}

Dengan cara ini, projek anda boleh mula menggunakan fungsi str_contains().

4. Kesimpulan
Fungsi str_contains() ialah salah satu fungsi padanan rentetan yang diperkenalkan dalam PHP8 Ia mempunyai prestasi yang lebih kukuh dan lebih ringkas dan jelas untuk digunakan. Jika anda sedang menggunakan fungsi strstr() atau strpos(), adalah disyorkan untuk berhijrah secara aktif ke fungsi str_contains() jika perlu.

Atas ialah kandungan terperinci Gunakan fungsi str_contains() dalam PHP8 untuk mencapai padanan rentetan pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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