Функцијата strpos

Функцијата strpos ја враќа позицијата на првото појавување на подниза во друг стринг или false, ако поднизата не е пронајдена. Како прв параметар функцијата прима стринг, во кој се врши пребарувањето, како втор параметар - поднизата што треба да се бара.

Стандардно, функцијата бара од почетокот на стрингот до првото совпаѓање. Почетокот на пребарувањето може да се регулира со третиот незадолжителен параметар - ако е зададен, тогаш пребарувањето ќе започне не од почетокот на стрингот, туку од назначеното место.

Постои и функцијата stripos, која го прави истото, но без разликување на мали и големи букви.

Синтакса

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

Пример

Во овој пример функцијата ќе ја врати позицијата на првиот симбол 'c'. Тој зазема позиција 2, бидејќи броењето започнува од 0:

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

Резултат од извршувањето на кодот:

php2

Пример

Во овој пример е зададен третиот параметар и затоа пребарувањето ќе започне од третата позиција, во овој случај функцијата ќе го најде веќе вториот симбол 'c' и ќе ја испечати неговата позиција - 8:

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

Резултат од извршувањето на кодот:

php8

Пример

Ако поднизата не е пронајдена - тогаш функцијата ќе врати false. Ако пак стрингот се наоѓа на почетокот, тогаш функцијата ќе врати 0. Ова може да биде проблем при споредување преку кратка форма на условот:

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

Резултат од извршувањето на кодот (не е таков, каков што очекувавме):

php'---'

Пример

Да извршиме правилна проверка на почетокот на стрингот:

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

Резултат од извршувањето на кодот:

php'+++'

Погледнете ги и

  • функцијата strrpos,
    која ја враќа позицијата на последното појавување на подниза
  • функцијата str_contains,
    која проверува појавување на симбол во стринг
  • функцијата str_starts_with,
    која проверува почеток на стринг
  • функцијата str_ends_with,
    која проверува крај на стринг
  • функцијата array_search,
    која врши пребарување во низа