Bahasa pengaturcaraan PHP ialah bahasa pengaturcaraan bahagian belakang yang sangat berkuasa dan popular yang digunakan secara meluas dalam pembangunan dan penyelenggaraan aplikasi web. Semasa proses pembangunan, kita selalunya perlu membuat pertanyaan dan memproses data, terutamanya pemprosesan data rentetan, seperti mencari sama ada subrentetan tertentu wujud dalam rentetan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk pertanyaan rentetan, bertujuan untuk membantu pemula menyelesaikan masalah biasa ini dengan cepat.
1. Gunakan fungsi strpos() untuk menanyakan rentetan
PHP menyediakan banyak fungsi terbina dalam untuk memproses data rentetan, yang paling biasa digunakan ialah fungsi strpos(). Fungsi ini boleh digunakan untuk mencari sama ada rentetan mengandungi subrentetan dan mengembalikan kedudukan subrentetan dalam rentetan induk.
Berikut ialah sintaks asas untuk menggunakan fungsi strpos():
strpos($string, $target)
Antaranya, $string mewakili rentetan yang akan ditemui dan $target mewakili rentetan sasaran yang akan dicari. Jika hasil yang dikembalikan adalah palsu, ini bermakna carian gagal, jika tidak, fungsi mengembalikan kedudukan rentetan sasaran dalam rentetan induk.
Ambil kod berikut sebagai contoh:
$str = "Hello, World!"; $needle = "World"; if (strpos($str, $needle) !== false) { echo "Found"; } else { echo "Not found"; }
Kod ini akan menemui subrentetan $str
dalam rentetan $needle
, jika ditemui, keluarkan Found
, jika tidak, keluarkan Not found
. Dalam kes ini, output ialah Found
kerana $needle
memang wujud dalam rentetan $str
.
2. Gunakan fungsi preg_match() untuk menanyakan rentetan
Selain menggunakan fungsi strpos(), PHP juga menyediakan fungsi preg_match() untuk padanan ungkapan biasa. Ungkapan biasa ialah alat yang boleh memadankan, menggantikan dan mengekstrak rentetan dengan tepat serta mempunyai keupayaan pemprosesan teks yang berkuasa.
Berikut ialah sintaks asas untuk menggunakan fungsi preg_match():
preg_match($pattern, $string, $matches)
Antaranya, $pattern mewakili corak ungkapan biasa, $string mewakili rentetan yang perlu dipadankan, dan $matches mewakili pembolehubah Output untuk hasil yang sepadan. Fungsi preg_match() akan mengembalikan 1 jika perlawanan berjaya, jika tidak, ia akan mengembalikan 0.
Ambil contoh berikut:
$str = "I have 3 apples."; $pattern = "/\d+/"; if (preg_match($pattern, $str, $matches)) { echo "Found number: " . $matches[0]; } else { echo "Not found"; }
Kod ini akan menggunakan ungkapan biasa untuk mencari nombor dalam rentetan $str
dan mengeluarkan hasilnya. Dalam kes ini, output ialah Found number: 3
.
3. Gunakan fungsi strstr() untuk menanyakan rentetan
Selain menggunakan fungsi strpos(), PHP juga menyediakan fungsi lain untuk mencari subrentetan, seperti fungsi strstr(). Fungsi ini mencari kejadian pertama subrentetan dan mengembalikan subrentetan itu dan semua aksara yang mengikutinya.
Berikut ialah sintaks asas untuk menggunakan fungsi strstr():
strstr($string, $needle, $before_needle = false)
Antaranya, $string mewakili rentetan yang hendak ditemui, $needle mewakili rentetan sasaran yang hendak dicari , dan $before_needle mewakili Sama ada hendak mengembalikan rentetan sebelum rentetan sasaran. Jika parameter ini benar, fungsi mengembalikan rentetan sebelum rentetan sasaran.
Ambil kod berikut sebagai contoh:
$str = "Hello, World!"; $needle = "Wor"; if (strstr($str, $needle)) { echo "Found"; } else { echo "Not found"; }
Kod ini akan menemui subrentetan $str
dalam rentetan $needle
, jika ditemui, keluarkan Found
, jika tidak, keluarkan Not found
. Dalam kes ini, output ialah Found
kerana $needle
memang wujud dalam rentetan $str
.
4. Gunakan fungsi substr_count() untuk menanyakan rentetan
PHP juga menyediakan fungsi substr_count() untuk mengira bilangan kali rentetan muncul dalam rentetan lain. Fungsi ini sangat mudah dan hanya memerlukan dua parameter rentetan.
Berikut ialah sintaks asas untuk menggunakan fungsi substr_count():
substr_count($string, $needle)
Antaranya, $string mewakili rentetan yang akan ditemui dan $needle mewakili rentetan sasaran yang akan dicari. Fungsi ini mengembalikan bilangan kali subrentetan sasaran muncul dalam rentetan induk.
Ambil kod berikut sebagai contoh:
$str = "Hello, World!"; $needle = "l"; $count = substr_count($str, $needle); echo "Found " . $count . " times";
Kod ini akan mencari subrentetan $str
dalam rentetan $needle
dan mengeluarkan bilangan kejadian. Dalam kes ini, output ialah Found 3 times
.
5. Gunakan fungsi stristr() untuk menanya rentetan (tidak peka huruf besar-kecil)
Akhir sekali, terdapat fungsi khas stristr(), yang hampir sama dengan fungsi strstr(), tetapi Tidak sensitif huruf besar. Ini bermakna bahawa tanpa mengira kes rentetan sasaran, fungsi akan dapat mencarinya dengan betul.
Berikut ialah sintaks asas untuk menggunakan fungsi stristr():
stristr($string, $needle)
Antaranya, $string mewakili rentetan yang akan ditemui dan $needle mewakili rentetan sasaran yang akan dicari. Fungsi ini mengembalikan subrentetan sasaran dan semua aksara seterusnya. Jika rentetan sasaran tidak wujud, mengembalikan palsu.
Ambil kod berikut sebagai contoh:
$str = "Hello, World!"; $needle = "worL"; if (stristr($str, $needle)) { echo "Found"; } else { echo "Not found"; }
Kod ini akan menemui subrentetan tidak sensitif huruf besar dan kecil $str
dalam rentetan $needle
dan jika ditemui, keluarkan Found
, jika tidak, keluarkan Not found
. Dalam kes ini, output ialah Found
kerana $needle
memang wujud dalam rentetan $str
.
Kesimpulan
Di atas adalah beberapa kaedah menggunakan pertanyaan rentetan PHP Setiap kaedah mempunyai ciri tersendiri dan senario yang boleh digunakan. Anda boleh memilih untuk menggunakannya mengikut keperluan anda. Amalan pengaturcaraan yang baik ialah menggunakan pelbagai teknik bersama-sama untuk menyediakan kod yang lebih berkuasa dan fleksibel. Semoga artikel ini bermanfaat kepada anda, terima kasih kerana membaca!
Atas ialah kandungan terperinci Bagaimana untuk bertanya sama ada rentetan wujud dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!