Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fungsi dalam PHP8: str_ends_with() - tentukan sama ada rentetan berakhir dengan aksara yang ditentukan

Fungsi dalam PHP8: str_ends_with() - tentukan sama ada rentetan berakhir dengan aksara yang ditentukan

WBOY
WBOYasal
2023-05-17 09:22:351924semak imbas

Dengan keluaran versi PHP7, prestasi bahasa PHP telah dipertingkatkan dengan pantas, dan versi terkini PHP8 telah menambah banyak ciri dan penambahan baharu Salah satu ciri baharu ialah fungsi str_ends_with(), yang membolehkan aksara pertimbangan Sama ada rentetan berakhir dengan aksara tertentu menjadi lebih mudah dan lebih intuitif.

Definisi fungsi str_ends_with()

fungsi str_ends_with() ialah fungsi pemprosesan rentetan baharu dalam PHP8 Fungsinya adalah untuk menentukan sama ada rentetan berakhir dengan aksara atau subrentetan yang ditentukan. Secara khusus, ia ditakrifkan seperti berikut:

bool str_ends_with(string $haystack, string $needle): bool

Antaranya, $haystack mewakili rentetan yang akan diperiksa dan $needle mewakili aksara atau subrentetan yang akan ditemui. Mengembalikan benar jika hujung rentetan $haystack adalah sama dengan $needle jika tidak, mengembalikan palsu.

Contoh penggunaan fungsi str_ends_with()

Sekarang, mari lihat beberapa contoh penggunaan fungsi str_ends_with(). Pertama, katakan kita mempunyai rentetan $url, yang mewakili URL:

$url = "https://www.example.com";

Sekarang, kami ingin menentukan sama ada URL ini berakhir dengan .com Kita boleh menggunakan fungsi str_ends_with() untuk mencapai ini:

if (str_ends_with($url, ".com")) {
    echo "这是一个.com网址";
} else {
    echo "这不是一个.com网址";
}

Jalankan kod di atas, output hendaklah seperti ini:

这是一个.com网址

Selain itu, fungsi str_ends_with() juga menyokong penentuan sama ada rentetan berakhir dengan mana-mana satu daripada berbilang aksara atau subrentetan. Contohnya:

if (str_ends_with($url, ["com", "net", "org"])) {
    echo "这是一个常见的顶级域名网址";
} else {
    echo "这不是一个常见的顶级域名网址";
}

Jalankan kod di atas, output hendaklah seperti ini:

这是一个常见的顶级域名网址

Fungsi str_ends_with() juga boleh digunakan untuk menentukan sama ada rentetan berakhir dengan rentetan kosong. Contohnya:

if (str_ends_with($url, "")) {
    echo "这是一个空字符串";
} else {
    echo "这不是一个空字符串";
}

Jalankan kod di atas, output sepatutnya seperti ini:

这不是一个空字符串

Mengapa fungsi str_ends_with() sangat praktikal

Dalam pembangunan sebenar, kita sering perlu Pemprosesan rentetan, seperti pemintasan, penggantian, pembahagian dan operasi lain. Antaranya, adalah keperluan yang sangat biasa untuk menentukan sama ada rentetan berakhir dengan aksara atau subrentetan tertentu. Dalam versi sebelumnya, kita mungkin perlu menggunakan fungsi substr() dan fungsi strlen() untuk mencapai fungsi ini, contohnya:

$url = "https://www.example.com";
$suffix = ".com";
if (substr($url, -strlen($suffix)) === $suffix) {
    echo "这是一个.com网址";
} else {
    echo "这不是一个.com网址";
}

Menggunakan fungsi substr() dan fungsi strlen() juga boleh mencapai tujuan , tetapi kodnya panjang dan tidak begitu intuitif; dan fungsi substr() terdedah kepada ralat sempadan. Sebagai perbandingan, fungsi str_ends_with() adalah lebih ringkas dan lebih praktikal, serta boleh meningkatkan kecekapan pembangunan dan kebolehbacaan kod dengan banyak.

Sudah tentu, fungsi str_ends_with() bukan mahakuasa dan senario penggunaannya juga terhad. Sebagai contoh, jika $needle itu sendiri adalah sebahagian daripada $haystack, fungsi str_ends_with() masih akan menilai kepada benar. Oleh itu, semasa penggunaan, pertimbangan dan pelarasan perlu dibuat berdasarkan situasi sebenar.

Ringkasnya, dengan keluaran PHP8, fungsi str_ends_with() membawa lebih banyak kemudahan kepada pembangun. Saya percaya bahawa dalam kerja pembangunan akan datang, kita akan melihat ia memainkan peranan yang lebih besar!

Atas ialah kandungan terperinci Fungsi dalam PHP8: str_ends_with() - tentukan sama ada rentetan berakhir dengan aksara yang ditentukan. 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