Algoritam traženja niza bitna je metoda u programiranju koja se koristi za lociranje položaja podniza unutar većeg niza. Ovaj se algoritam obično koristi za traženje određenih ključnih riječi, nizova znakova ili uzoraka unutar teksta ili podataka. U PHP-u su dostupne razne metode kao što su strpos() i za izvođenje pretraživanja nizova. strstr()
Kako radi algoritam pretraživanja niza
Algoritam pretraživanja niza radi na sljedeći način:
- Tekst za pretraživanje: Prvo, trebamo veći niz(tekst, podaci) unutar kojeg želimo pretraživati.
- Uzorak za traženje: Trebamo podniz(ključnu riječ, uzorak) koji želimo locirati unutar teksta.
- Usklađivanje niza: algoritam uspoređuje svaki znak uzorka s odgovarajućim znakovima u tekstu. Ako se odgovarajući znakovi ne podudaraju, algoritam nastavlja provjeravati sljedeće pozicije.
- Vraćanje pozicije: Ako se podniz pronađe unutar većeg niza, algoritam vraća poziciju svog prvog pojavljivanja. Ako nije pronađen, algoritam vraća nepostojeću vrijednost(npr. -1).
Prednosti i nedostaci algoritma pretraživanja niza
Prednosti:
- Jednostavan i razumljiv: ovaj algoritam je jednostavan za implementaciju i korištenje.
- Dobra izvedba za kratke nizove: dobro radi pri pretraživanju kratkih nizova.
Nedostaci:
- Loša izvedba za duge nizove: Izvedba se može znatno smanjiti kada se traži u dugim nizovima.
- Pronalazi samo prvo pojavljivanje: Algoritam vraća samo poziciju prvog pojavljivanja podniza.
Primjer i objašnjenje
Pretpostavimo da imamo tekst opisa proizvoda i želimo provjeriti screen pojavljuje li se ključna riječ "u tekstu. Ispod je primjer kako izvršiti pretraživanje niza u PHP-u:
$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.";
}
U ovom primjeru koristimo strpos() funkciju za traženje položaja prvog pojavljivanja ključne riječi screen unutar teksta. Ako je ključna riječ pronađena, ispisuje se njena prva pozicija; ako nije, prikazuje se poruka da ključna riječ nije pronađena.
Iako je jednostavan i učinkovit za osnovne slučajeve pretraživanja, algoritam pretraživanja niza može loše raditi s dugim tekstovima i ne pruža mogućnost pronalaženja svih pojavljivanja podniza.



