Funkcija strpos

Funkcija strpos vraća poziciju prvog pojavljivanja podstringa u drugi string ili false, ako podstring nije pronađen. Prvi parametar funkcije je string u kome se vrši pretraga, drugi parametar - podstring koji treba tražiti.

Podrazumevano, funkcija traži od početka stringa do prvog poklapanja. Početak pretrage se može podesiti trećim opcionim parametrom - ako je zadat, pretraga će početi ne od početka stringa, već od navedene pozicije.

Postoji i funkcija stripos, koja radi isto to, ali bez obzira na veličinu slova (case-insensitive).

Sintaksa

phpstrpos(string $haystack, string $needle, int $offset = 0): int|false

Primer

U ovom primeru funkcija će vratiti poziciju prvog simbola 'c'. On zauzima poziciju 2, jer odbrojavanje počinje od 0:

php<?php
  echo strpos('abcde abcde', 'c');
?>

Rezultat izvršavanja koda:

php2

Primer

U ovom primeru je zadat treći parametar i zato će pretraga početi od treće pozicije, u ovom slučaju funkcija će naći već drugi simbol 'c' i prikazati njegovu poziciju - 8:

php<?php
  echo strpos('abcde abcde', 'c', 3);
?>

Rezultat izvršavanja koda:

php8

Primer

Ako podstring ne bude pronađen - funkcija će vratiti false. Ako se string nalazi na početku, funkcija će vratiti 0. Ovo može biti problem pri poređenju preko kratke forme uslova:

php<?php
  if (strpos('http://site.ru', 'http://')) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Rezultat izvršavanja koda (nije onakav kakav smo očekivali):

php'---'

Primer

Izvršimo ispravnu proveru početka stringa:

php<?php
  if (strpos('http://site.ru', 'http://') === 0) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Rezultat izvršavanja koda:

php'+++'

Pogledajte takođe

  • funkciju strrpos,
    koja vraća poziciju poslednjeg pojavljivanja podstringa
  • funkciju str_contains,
    koja proverava prisustvo stringa u drugom stringu
  • funkciju str_starts_with,
    koja proverava da li string počinje određenim podstringom
  • funkciju str_ends_with,
    koja proverava da li string završava određenim podstringom
  • funkciju array_search,
    koja vrši pretragu u nizu (array)