Funkcija strpos

Funkcija strpos grąžina pirmojo eilutės fragmento atsiradimo vietą kitoje eilutėje arba false, jei fragmentas nerastas. Pirmuoju parametru funkcija priima eilutę, kurioje vykdoma paieška, antruoju parametru - fragmentą, kurį reikia ieškoti.

Pagal nutylėjimą funkcija ieško nuo eilutės pradžios iki pirmojo atitikimo. Paieškos pradžią galima reguliuoti trečiuoju neprivalomu parametru - jei jis nurodytas, paieška prasidės ne nuo pradžios eilutės, o nuo nurodytos vietos.

Taip pat yra funkcija stripos, kuri daro tą patį, bet neatsižvelgiant į raidžių registrą.

Sintaksė

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

Pavyzdys

Šiame pavyzdyje funkcija grąžins pirmojo simbolio 'c' poziciją. Jis užima poziciją 2, nes skaičiavimas prasideda nuo 0:

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

Kodo vykdymo rezultatas:

php2

Pavyzdys

Šiame pavyzdyje nustatytas trečiasis parametras ir todėl paieška prasidės nuo trečiosios pozicijos, šiuo atveju funkcija ras jau antrąjį simbolį 'c' ir parodys jo poziciją - 8:

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

Kodo vykdymo rezultatas:

php8

Pavyzdys

Jei fragmentas nebus rastas - funkcija grąžins false. Jei eilutė stovi pradžioje, tai funkcija grąžins 0. Tai gali sukelti problemų lyginant naudojant trumpąją sąlygos formą:

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

Kodo vykdymo rezultatas (ne toks, kokio tikėjomės):

php'---'

Pavyzdys

Atlikime teisingą eilutės pradžios patikrinimą:

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

Kodo vykdymo rezultatas:

php'+++'

Taip pat žiūrėkite

  • funkciją strrpos,
    kuri grąžina paskutinio eilutės fragmento atsiradimo vietą
  • funkciją str_contains,
    kuri tikrina ar simbolis yra eilutėje
  • funkciją str_starts_with,
    kuri tikrina eilutės pradžią
  • funkciją str_ends_with,
    kuri tikrina eilutės pabaigą
  • funkciją array_search,
    kuri atlieka paiešką masyve