Eksplorimi i algoritmit të kërkimit të vargut (String Search) në PHP

Algoritmi i kërkimit të vargut është një metodë thelbësore në programim që përdoret për të lokalizuar pozicionin e një nënvargu brenda një vargu më të madh. Ky algoritëm përdoret zakonisht për të kërkuar fjalë kyçe specifike, sekuenca karakteresh ose modele brenda tekstit ose të dhënave. Në PHP, metoda të ndryshme si strpos() dhe strstr() janë të disponueshme për të kryer kërkime në vargje.

Si funksionon algoritmi i kërkimit të vargut

Algoritmi i kërkimit të vargut funksionon si më poshtë:

  1. Teksti për të kërkuar: Së pari, na duhet një varg më i madh(tekst, të dhëna) brenda të cilit duam të kërkojmë.
  2. Modeli për të kërkuar: Na duhet një nënvarg(fjalë kyçe, model) që duam ta gjejmë brenda tekstit.
  3. Përputhja e vargut: Algoritmi krahason çdo karakter të modelit me karakteret përkatëse në tekst. Nëse karakteret përkatëse nuk përputhen, algoritmi vazhdon të kontrollojë pozicionet vijuese.
  4. Pozicioni i kthimit: Nëse nënvargu gjendet brenda vargut më të madh, algoritmi kthen pozicionin e shfaqjes së tij të parë. Nëse nuk gjendet, algoritmi kthen një vlerë inekzistente(p.sh. -1).

Avantazhet dhe disavantazhet e algoritmit të kërkimit të vargjeve

Përparësitë:

  • I thjeshtë dhe i kuptueshëm: Ky algoritëm është i thjeshtë për t'u zbatuar dhe përdorur.
  • Performancë e mirë për vargjet e shkurtra: performon mirë kur kërkon në vargje të shkurtra.

Disavantazhet:

  • Performancë e dobët për vargjet e gjata: Performanca mund të ulet ndjeshëm kur kërkoni në vargje të gjata.
  • Gjen vetëm shfaqjen e parë: Algoritmi kthen vetëm pozicionin e shfaqjes së parë të nënvargut.

Shembull dhe shpjegim

Le të supozojmë se kemi një tekst të përshkrimit të produktit dhe duam të kontrollojmë nëse fjala kyçe screen "shfaqet në tekst. Më poshtë është një shembull se si të kryhet një kërkim vargu në PHP:

$text = "This product features a wide and high-quality screen.";  
$keyword = "screen";  
  
$position = strpos($text, $keyword);  
  
if($position !== false) {  
    echo "The keyword \"$keyword\" was found at position $position in the text.";  
} else {  
    echo "The keyword \"$keyword\" was not found in the text.";  
}  

Në këtë shembull, ne përdorim strpos() funksionin për të kërkuar pozicionin e paraqitjes së parë të fjalës kyçe screen  brenda tekstit. Nëse gjendet fjala kyçe, shtypet pozicioni i saj i parë; nëse jo, shfaqet një mesazh që thotë se fjala kyçe nuk u gjet.

Ndërsa i thjeshtë dhe efektiv për rastet bazë të kërkimit, algoritmi i kërkimit të vargut mund të funksionojë dobët me tekste të gjata dhe nuk ofron mundësinë për të gjetur të gjitha dukuritë e nënvargut.