Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengesan sama ada rentetan tertentu mengandungi rentetan lain dalam php
4 kaedah: 1. Gunakan strpos(), sintaksnya ialah "strpos(rentetan, rentetan lain)", dan nilai kedudukan yang dikembalikan disertakan. 2. Gunakan strrpos(), sintaksnya ialah "strrpos(rentetan, rentetan lain)", dan nilai kedudukan yang dikembalikan disertakan. 3. Gunakan explode() dengan sintaks "explode(another string, string)". Jika tatasusunan yang dikembalikan ialah tatasusunan kosong, ia tidak akan disertakan. 4. Gunakan strstr(), sintaksnya ialah "strstr(rentetan, rentetan lain)", jika ia mengembalikan FALSE, ia tidak disertakan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
pengesanan php rentetan Sama ada mengandungi rentetan lain
Kaedah 1: Gunakan fungsi strpos() untuk mengesan
Fungsi strpos() boleh mencari rentetan dalam rentetan lain Kedudukan kejadian pertama dalam rentetan (sensitif huruf besar-besaran).
Jika aksara yang dinyatakan wujud, mengembalikan kedudukan kejadian pertama jika tidak ditemui, mengembalikan FALSE.
Nota: Kedudukan rentetan bermula dari 0, bukan dari 1.
Contoh:
<?php header('content-type:text/html;charset=utf-8'); $findme1 = 'y'; $findme2 = 'Y'; $mystring = 'xyz'; $pos1 = strpos($mystring, $findme1); $pos2 = strpos($mystring, $findme2); var_dump($pos1); var_dump($pos2); if($pos1){ echo $mystring." 中包含指定字符 $findme1 <br>"; }else{ echo $mystring." 中不包含指定字符 $findme1 <br>"; } if($pos2){ echo $mystring." 包含指定字符 $findme2 <br>"; }else{ echo $mystring." 不包含指定字符 $findme2 <br>"; } ?>
Kaedah 2: Gunakan fungsi strrpos() untuk mengesan
strrpos( ) Fungsi ini mencari kejadian terakhir rentetan dalam rentetan lain (sensitif huruf besar-kecil).
Jika aksara yang dinyatakan wujud, mengembalikan kedudukan kejadian terakhir jika tidak ditemui, mengembalikan FALSE.
Contoh:
<?php header('content-type:text/html;charset=utf-8'); $findme1 = 'C'; $findme2 = 'c'; $mystring = 'ABC'; $pos1 = strrpos($mystring, $findme1); $pos2 = strrpos($mystring, $findme2); var_dump($pos1); var_dump($pos2); if($pos1){ echo $mystring." 中包含指定字符 $findme1 <br>"; }else{ echo $mystring." 中不包含指定字符 $findme1 <br>"; } if($pos2){ echo $mystring." 包含指定字符 $findme2 <br>"; }else{ echo $mystring." 不包含指定字符 $findme2 <br>"; } ?>
Kaedah 3: Gunakan fungsi explode() untuk mengesan
meletup () Fungsi membelah rentetan menggunakan pembatas yang ditentukan dan mengembalikan tatasusunan rentetan.
Jika tatasusunan bukan tatasusunan kosong (panjang tatasusunan lebih besar daripada 1), ia disertakan jika tidak, tatasusunan itu kosong dan tidak mengandungi rentetan lain
<?php header('content-type:text/html;charset=utf-8'); $url = "001a.gif"; $str = "a"; $con = explode($str,$url); if (count($con)>1){ echo $url." 中包含 ".$str; }else{ echo $url." 中没有包含 ".$str; } ?>
Kaedah 4: Gunakan fungsi strstr() untuk mengesan
Fungsi strstr() mencari kejadian pertama rentetan dalam rentetan lain.
Fungsi ini mengembalikan seluruh rentetan (dari titik padanan). Mengembalikan palsu jika rentetan yang dicari tidak ditemui.
<?php header('content-type:text/html;charset=utf-8'); $email = 'user@example.com'; $str='@'; $domain = strstr($email, $str); if ($domain){ echo $email." 中包含 ".$str; }else{ echo $email." 中没有包含 ".$str; } ?>
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada rentetan tertentu mengandungi rentetan lain dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!