Funkcja strpos

Funkcja strpos zwraca pozycję pierwszego wystąpienia podciągu w innym ciągu lub false, jeśli podciąg nie zostanie znaleziony. Pierwszym parametrem funkcja przyjmuje ciąg, w którym przeprowadzane jest wyszukiwanie, drugim parametrem - podciąg, który należy wyszukać.

Domyślnie funkcja szuka od początku ciągu do pierwszego dopasowania. Początek wyszukiwania można regulować trzecim parametrem opcjonalnym - jeśli jest podany, to wyszukiwanie rozpocznie się nie od początku ciągu, a od wskazanego miejsca.

Istnieje również funkcja stripos, która robi to samo, ale bez uwzględniania wielkości liter.

Składnia

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

Przykład

W tym przykładzie funkcja zwróci pozycję pierwszego symbolu 'c'. Zajmuje on pozycję 2, ponieważ liczenie zaczyna się od 0:

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

Wynik wykonania kodu:

php2

Przykład

W tym przykładzie podano trzeci parametr i dlatego wyszukiwanie rozpocznie się od trzeciej pozycji, w tym przypadku funkcja znajdzie już drugi symbol 'c' i wypisze jego pozycję - 8:

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

Wynik wykonania kodu:

php8

Przykład

Jeśli podciąg nie zostanie znaleziony - to funkcja zwróci false. Jeśli natomiast ciąg znajduje się na początku, to funkcja zwróci 0. Może to stanowić problem przy porównywaniu przez krótką formę warunku:

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

Wynik wykonania kodu (nie taki, jakiego oczekiwaliśmy):

php'---'

Przykład

Wykonajmy prawidłowe sprawdzenie początku ciągu:

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

Wynik wykonania kodu:

php'+++'

Zobacz też

  • funkcję strrpos,
    która zwraca pozycję ostatniego wystąpienia podciągu
  • funkcję str_contains,
    która sprawdza występowanie symbolu w ciągu
  • funkcję str_starts_with,
    która sprawdza początek ciągu
  • funkcję str_ends_with,
    która sprawdza koniec ciągu
  • funkcję array_search,
    która przeprowadza wyszukiwanie w tablicy