3 moduri de a verifica dacă un șir PHP conține altul

Publicat: 2022-02-13

Probabil cea mai frustrantă parte a scrierii codului PHP a afla dacă un șir PHP conține un alt șir. Dar să nu vă faceți griji – în acest tutorial, vom arăta cât de ușor este să identificați un subșir folosind mai multe metode. În afară de a le prezenta, vom discuta și despre avantajele lor și, desigur, dezavantajele lor. Vă rugăm să rețineți că există mai multe metode de „rădăcinare” a subșirurilor.




Cuprins

Câteva considerații dacă șirul PHP conține altul

Prima greșeală majoră în testarea unui subșir este utilizarea unui operator de comparare greșit. De exemplu, dacă utilizați != pentru a verifica un subșir, puteți ajunge la ceea ce se numește un fals pozitiv. În acest caz, este mai bine să utilizați !==, care compară tipul.

Dacă întâmpinați probleme în a afla ce operator să utilizați într-un anumit context, puteți consulta acest tutorial PHP pentru informații detaliate despre operatori și funcțiile acestora. Veți găsi, de asemenea, exemple de cod explicate pentru programatorul începător.

După cum am spus, există diferite metode pentru a afla dacă un șir conține un cuvânt sau un alt șir. Până în prezent, există cinci metode, dar numai primele trei dintre ele sunt rapide.

  1. stripos () pentru diferențierea cu majuscule și minuscule pentru a verifica dacă un șir conține un alt șir.
  2. Regex pentru șir în șir
  3. strstr () pentru un șir dintr-un alt șir.

1.Verificarea unui subșir folosind referința șirului care diferențiază majuscule și minuscule stripos()

Cea mai rapidă și nedureroasă modalitate de a verifica dacă un șir conține altul este prin folosirea funcției stripos() care caută practic dacă un șir conține un anumit cuvânt. Ce se întâmplă este că funcția va returna TRUE dacă șirul conține un subșir/cuvânt sau FALSE dacă șirul nu conține niciunul dintre ele.




Pentru a vă ajuta să vizualizați cum funcționează stripos(), iată un exemplu.

$first_string = „Sunt cu 10 ani mai în vârstă decât tine.”

$sought_word= „ani”

$caracter = „eu”




$targeted_substring = „10 ani”

Dacă (strpos ($first_String, $sought_word) !== false {

echo 'Acest cuvânt „ '.$sought_word.'” este în șir.';

}

(acest lucru vă va spune că „anii” lumii pot fi găsite în acest șir special)




if (stripos ($primul_șir, $caracter) !== false) {

echo „Acest caracter „ '.$caracter.' „poate fi găsit în acest șir special.”;

}

(aceste rânduri vă vor spune că „I” poate fi găsit în șirul dat)

if (strpos ($first_string, $targeted substring) !== false {




echo „Subșirul vizat „ '.targeted_substring.'” poate fi găsit în acest șir.”

(aceste rânduri vă vor spune că subșirul „5 ani” poate fi găsit în șir).

if (strpos($primul_șir, $caracter) != fals) {

echo „Acest caracter „ '.$caracter.' „apare în acest șir.”

} altfel {

echo „Acest caracter „ '.$caracter.' „ nu apare în acest șir.

(Aceste rânduri vă vor spune că caracterul „I” nu poate fi găsit în acel șir anume.)

  • Înrudit: 5 cele mai bune cursuri online gratuite de dezvoltare web
  • 5 cele mai bune locuri pentru a învăța design web

2.Regex pentru un subșir dintr-un șir

Expresiile regulate, alias Regex, sunt mai potrivite pentru căutarea modelelor complexe într-un subșir dat.

Iată un exemplu despre cum să căutați subșiruri, folosind funcțiile definite în exemplul anterior.

$first_string = „Sunt cu 10 ani mai în vârstă decât tine.”

$sought_word= „ani”

$caracter = „eu”

$targeted_substring = „10 ani”

Dacă (preg_match('/years/', $first_string)) {

echo „Cuvântul “ '.$cuvânt_căutat.' „poate fi găsit în acest șir.”;

}

(spune utilizatorului că cuvântul „ani” poate fi găsit în acel șir)

if (preg_match('/I/', $first_string)) {

echo 'Personajul “'.$caracter.; „apare în acest șir”. ;

}

(îți spune că „Eu” apare în șirul tău.)

Dacă (preg_match('/10 ani/', $first_string)) {

echo 'Acest subșir: '.$targeted_substring.' „apare în șirul furnizat”.

}

(vă spune că subșirul, definit ca „10 ani” apare în șirul dvs. declarat).

3. Strstr() funcţionează pentru a găsi subşiruri în şiruri

Funcția strstr () este destul de versatilă, ceea ce înseamnă că poate fi folosită pentru a căuta subșiruri, caractere și cuvinte într-un anumit șir. Ceea ce face este practic să returneze doar partea care conține primul șir, de la prima apariție a subșirului/cuvântului până la sfârșit. Iată un exemplu pentru a vă ajuta să vă dați seama cum funcționează

lucrări.

$first_string = „Sunt cu 10 ani mai în vârstă decât tine.”

$sought_word= „ani”

$caracter = „eu”

$targeted_substring = „10 ani”

Dacă (strstr($primul_șir, $cuvântul_căutat) !==false) {

echo „Cuvântul „ '.$sought_word.'”apare în șir.;

}

(îți spune că „anii” apare în șir)

if (strstr($primul_șir, $caracter) !==false) {

echo „Personajul” „$caracter.'” apare în șirul dat.';

}

(spuneți utilizatorului că caracterul „I” apare în șir)

if (strstr($first_string, $targeted_substring) !==false) {

echo 'Subșirul „'.$targeted_substring.; „ apare în șir.';

}

Concluzie

Iată, oameni buni – trei moduri simple de a afla dacă șirul pe care îl testați are un subșir sau nu. Din nou, fiți atenți în jurul operatorilor și asigurați-vă că vă testați șirul folosind mai multe metode pentru a evita rezultatele fals pozitive.

Dacă doriți să învățați PHP sau orice limbă, vă sugerez să urmați cursul online de la oricare dintre cele mai bune platforme de învățare online precum Udemy, care vă oferă orice tip de curs la un preț foarte mic. Puteți citi detalii complete despre Udemy. De asemenea, puteți consulta pagina noastră cu cupoane de reducere Udemy pentru cele mai recente oferte.

Dacă vă place acest tutorial despre metode pentru a verifica șirul PHP conține un alt șir, vă rugăm să-l distribuiți. Doriți mai multe sfaturi, vă rugăm să urmați whatvwant pe Facebook, Twitter și YouTube.