Perbandingan rentetan dan carian ialah operasi yang paling biasa Dalam artikel sebelumnya "Pembelajaran Rentetan PHP: Membandingkan Dua Rentetan", kami memperkenalkan kaedah membandingkan rentetan. Artikel berikut akan membawa anda melalui operasi carian rentetan dan memperkenalkan kaedah menyemak sama ada subrentetan wujud.
Apabila melakukan operasi carian rentetan, kadangkala anda dikehendaki mencari subrentetan tertentu (dirujuk sebagai subrentetan) dalam rentetan tertentu untuk melihat sama ada subrentetan itu wujud dalam rentetan.
Kami biasanya menggunakan fungsi terbina dalam PHP untuk mencari kejadian pertama atau terakhir subrentetan ini dalam rentetan untuk membuat pertimbangan. Terdapat dua situasi untuk mencari rentetan: satu adalah tidak sensitif huruf besar-besaran, iaitu, carian tidak sensitif huruf besar-kecil, iaitu, carian sensitif huruf besar-kecil; Sekarang mari kita lihat cara untuk menentukan sama ada subrentetan wujud tanpa sensitiviti huruf besar-besaran.
Mari kita lihat buah berangan di bawah.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme); echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme); ?>
Lihat kod dalam contoh di atas, pada pendapat anda apakah hasilnya? Kejadian pertama ialah "2" dan kejadian terakhir ialah "8", bukan? Mari kita lihat output:
Op, ini "1" dan "7". Sebabnya ialah: kedudukan rentetan bermula pada 0, bukan 1. Sudah tentu salah untuk kita mengira berdasarkan kedudukan permulaan 1.
Jadi kita boleh menggunakan kod berikut untuk menentukan sama ada subrentetan itu wujud
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; if(stripos($string, $findme)!=FALSE){ echo "子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } if(strripos($string, $findme)!=FALSE){ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中存在。"; }else{ echo "<br>子串 “'$findme'” 在字符串 “'$string'” 中不存在。"; } ?>
Hasil keluaran:
Mari jelaskan di bawah Cuba lihat dua fungsi ini. Fungsi
stripos($string,$find,$start)
boleh mencari kejadian pertama rentetan dalam rentetan lain (tidak sensitif huruf besar-besaran). Fungsi
strripos($string,$find,$start)
mencari kejadian terakhir rentetan dalam rentetan lain (tidak sensitif huruf besar-besaran).
Parameter kedua-dua fungsi ini adalah serupa Kedua-duanya menerima dua parameter yang diperlukan $string
dan $find
, dan satu parameter pilihan $start
.
$string
Parameter: digunakan untuk menentukan rentetan untuk ditemui.
$find
Parameter: digunakan untuk menentukan subrentetan untuk ditemui, yang boleh mengandungi satu atau lebih aksara. (Jika ia bukan jenis rentetan, ia ditukar kepada integer dan dianggap sebagai nilai tersusun aksara).
$start
Parameter: digunakan untuk menentukan aksara dalam $string
untuk mula mencari daripada nilai kedudukan yang dikembalikan masih relatif kepada kedudukan permulaan $string
.
Tetapi parameter $start
bagi fungsi strripos() membenarkan nilai negatif, yang akan menyebabkan carian bermula dari permulaan rentetan dan berakhir pada kedudukan $start
.
<?php header("Content-type:text/html;charset=utf-8"); $string = "ABCDCBAbcd"; $findme = "bC"; echo "子串 “'$findme'” 第一次出现的位置:".stripos($string, $findme,2); echo "<br>子串 “'$findme'” 最后一次出现的位置:".strripos($string, $findme,-5); ?>
Hasil keluaran:
Itu sahaja jika anda ingin tahu perkara lain, anda boleh klik ini. → →tutorial video php
Akhir sekali, saya mengesyorkan anda membaca kursus klasik "Pemprosesan Rentetan PHP (Edisi Sutra Jantung Gadis Jade) ", ianya percuma~ datang dan belajar!
Atas ialah kandungan terperinci Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!