Bagaimana untuk mengesan sama ada subrentetan wujud dalam php

青灯夜游
Lepaskan: 2023-03-16 22:34:01
asal
3673 orang telah melayarinya

4 kaedah: 1. Gunakan stripos() untuk mencari kedudukan kejadian subrentetan, sintaksnya ialah "stripos($str,$find)"; 2. Gunakan strripos() untuk mencari kedudukan kejadian subrentetan, sintaks "strripos($str,$find)"; ) untuk mencari kedudukan kejadian subrentetan, sintaks "strrpos($str,$find)".

Bagaimana untuk mengesan sama ada subrentetan wujud dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Apabila melakukan operasi carian rentetan, kadangkala Ia diperlukan untuk mencari subrentetan tertentu (substring untuk pendek) dalam rentetan tertentu untuk melihat sama ada subrentetan wujud dalam rentetan ini.

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;

Kes 1: Tentukan sama ada subrentetan wujud (tidak sensitif huruf besar-besaran)

Pengesanan tidak sensitif huruf besar sama ada subrentetan itu wujud, anda perlu menggunakan fungsi stripos() dan srripos().

Kedua-dua fungsi stripos() dan strripos() boleh menyemak kedudukan kejadian subrentetan yang ditentukan dalam cara tidak sensitif huruf besar dan kecil Jika nilai pulangan adalah FALSE, subrentetan yang ditentukan tidak wujud.

Jadi kita boleh menggunakan kod berikut untuk menentukan sama ada subrentetan 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;” 中不存在。";
}
?>
Salin selepas log masuk

Hasil keluaran:

Bagaimana untuk mengesan sama ada subrentetan wujud dalam php

Penerangan : Fungsi stripos() dan strripos()

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.

Kes 2: Kesan sama ada subrentetan wujud (sensitif huruf besar-kecil)

Pengesan sensitif huruf besar-besaran Sama ada rentetan itu wujud , anda perlu menggunakan fungsi strpos() dan strrpos().

Fungsi strpos() dan strrpos() boleh menyemak kedudukan kejadian subrentetan yang ditentukan dalam cara sensitif huruf besar-besaran Jika nilai pulangan adalah FALSE, subrentetan yang ditentukan tidak wujud.

Contoh:

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme1 = "bC";
$findme2 = "bc";
$pos1 = strpos($string, $findme1);
$pos2 = strrpos($string, $findme1);
$pos3 = strpos($string, $findme2);
$pos4 = strrpos($string, $findme2);

if($pos1 !=FALSE){
	echo "子串 &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos2 !=FALSE){
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
if($pos3 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos4 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
?>
Salin selepas log masuk

Fungsi strpos() dan strrpos() akan mencari subrentetan $string atau $findme1 dalam rentetan $findme2 dalam cara sensitif huruf besar-besaran. Apabila terdapat padanan tepat dan subrentetan wujud, kejadian pertama atau terakhir subrentetan dalam rentetan akan dikembalikan jika subrentetan tidak ditemui dalam rentetan, FALSE akan dikembalikan.

Seperti yang dapat dilihat daripada contoh di atas, hanya subrentetan "bc" dan rentetan "ABCDCBAbcd" adalah padanan tepat dan subrentetan "bc" dianggap wujud dalam rentetan "ABCDCBAbcd" dalam. Oleh itu, hasil output ialah:

Bagaimana untuk mengesan sama ada subrentetan wujud dalam php

Penerangan: strpos() dan strrpos() fungsi

  • strpos($string,$find,$start)Fungsi ini boleh mengembalikan kedudukan kejadian pertama subrentetan (sensitif huruf besar dan kecil); (kes-sensitif);

  • Fungsi strpos() dan strrpos() adalah serupa, kedua-duanya menerima dua parameter yang diperlukan strrpos($string,$find,$start) (rentetan sedang dicari) dan

    (the subrentetan untuk dicari), satu Parameter
  • (kedudukan permulaan carian) boleh diabaikan.
Nota: Kedudukan rentetan bermula pada 0, bukan 1.

$string$find$startHasil output:

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2);
?>
Salin selepas log masuk

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"Bagaimana untuk mengesan sama ada subrentetan wujud dalam php

Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada subrentetan wujud dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan