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
strpos(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
echo strpos('abcde abcde', 'c');
?>
A kód végrehajtásának eredménye:
2
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
echo strpos('abcde abcde', 'c', 3);
?>
A kód végrehajtásának eredménye:
8
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
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
A kód végrehajtásának eredménye (nem olyan, amit vártunk):
'---'
Példa
Végezzük el a helyes ellenőrzést a sztring elejére:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
A kód végrehajtásának eredménye:
'+++'
Lásd még
-
a
strrposfüggvényt,
amely egy részlet utolsó előfordulásának pozícióját adja vissza -
a
str_containsfüggvényt,
amely egy karakter sztringben való előfordulását ellenőrzi -
a
str_starts_withfüggvényt,
amely a sztring elejét ellenőrzi -
a
str_ends_withfüggvényt,
amely a sztring végét ellenőrzi -
a
array_searchfüggvényt,
amely tömbön belül végez keresést