A strpos függvény

A strpos függvény visszaadja egy részlet első előfordulásának pozícióját egy másik sztringben, vagy false-t, ha a részlet nem található. Az első paraméterként a függvény a sztringet veszi át, amelyben a keresést végzi, a második paraméterként pedig a keresendő részletet.

Alapértelmezetten a függvény a sztring elejétől keres az első egyezésig. A keresés kezdetét szabályozni lehet a harmadik, opcionális paraméterrel - ha ez meg van adva, akkor a keresés nem a sztring elejétől, hanem a megadott helytől kezdődik.

Létezik továbbá a stripos függvény is, amely ugyanazt csinálja, de kis- és nagybetűk megkülönböztetése nélkül.

Szintaxis

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

Példa

Ebben a példában a függvény az első 'c' karakter pozícióját adja vissza. Ez a 2 pozíciót foglalja el, mivel a számolás 0-tól kezdődik:

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

A kód végrehajtásának eredménye:

php2

Példa

Ebben a példában a harmadik paraméter meg van adva, ezért a keresés a harmadik pozíciótól kezdődik, ebben az esetben a függvény a második 'c' karaktert találja meg és annak pozícióját adja vissza - 8:

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

A kód végrehajtásának eredménye:

php8

Példa

Ha a részlet nem található - akkor a függvény false-t ad vissza. Ha viszont a sztring az elején áll, akkor a függvény 0-t ad vissza. Ez probléma lehet a rövid formájú feltétel használatakor:

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

A kód végrehajtásának eredménye (nem olyan, amit vártunk):

php'---'

Példa

Végezzük el a helyes ellenőrzést a sztring elejére:

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

A kód végrehajtásának eredménye:

php'+++'

Lásd még

  • a strrpos függvényt,
    amely egy részlet utolsó előfordulásának pozícióját adja vissza
  • a str_contains függvényt,
    amely egy karakter sztringben való előfordulását ellenőrzi
  • a str_starts_with függvényt,
    amely a sztring elejét ellenőrzi
  • a str_ends_with függvényt,
    amely a sztring végét ellenőrzi
  • a array_search függvényt,
    amely tömbön belül végez keresést