Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

青灯夜游
青灯夜游asal
2021-08-05 12:12:072462semak imbas

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 "子串  “&#39;$findme&#39;” 第一次出现的位置:".stripos($string, $findme);
echo "<br>子串  “&#39;$findme&#39;” 最后一次出现的位置:".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:

Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

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 "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}
?>

Hasil keluaran:

Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

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.

  • $stringParameter: digunakan untuk menentukan rentetan untuk ditemui.

  • $findParameter: 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 "子串  “&#39;$findme&#39;” 第一次出现的位置:".stripos($string, $findme,2);
echo "<br>子串  “&#39;$findme&#39;” 最后一次出现的位置:".strripos($string, $findme,-5);
?>

Hasil keluaran:

Pembelajaran rentetan PHP untuk menentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

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!

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