strpos функциясы
strpos функциясы бірінші кездескен ішкі жолдың орнын
басқа жолда қайтарады немесе ішкі жол табылмаса false
қайтарады. Функция бірінші параметр ретінде іздеу жүргізілетін
жолды қабылдайды, екінші параметр ретінде ізделетін ішкі жолды
қабылдайды.
Әдепкі бойынша функция жолдың басынан бірінші сәйкестікке дейін іздейді. Іздеудің басталуын үшінші міндетті емес параметрмен реттеуге болады - егер ол көрсетілсе, онда іздеу жолдың басынан емес, көрсетілген орыннан басталады.
Сондай-ақ stripos функциясы бар, ол дәл солай істейді,
бірақ регистрді есепке алмай.
Синтаксис
strpos(string $haystack, string $needle, int $offset = 0): int|false
Мысал
Бұл мысалда функция бірінші 'c' таңбасының орнын қайтарады.
Ол 2 орнын алады, себебі санау 0-ден басталады:
<?php
echo strpos('abcde abcde', 'c');
?>
Кодты орындау нәтижесі:
2
Мысал
Бұл мысалда үшінші параметр берілген, сондықтан іздеу үшінші
позициядан басталады, бұл жағдайда функция екінші 'c'
таңбасын табады және оның 8 орнын шығарады:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Кодты орындау нәтижесі:
8
Мысал
Егер ішкі жол табылмаса - функция false қайтарады.
Ал егер жол басында тұрса, онда функция 0 қайтарады.
Бұл қысқа түрдегі шарт арқылы салыстыру кезінде мәселе туғызуы мүмкін:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Кодты орындау нәтижесі (біз күткендей емес):
'---'
Мысал
Жолдың басын дұрыс тексеруді орындайық:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Кодты орындау нәтижесі:
'+++'
Сондай-ақ қараңыз
-
strrposфункциясы,
соңғы кездескен ішкі жолдың орнын қайтарады -
str_containsфункциясы,
жолда таңбаның бар-жоғын тексереді -
str_starts_withфункциясы,
жолдың басын тексереді -
str_ends_withфункциясы,
жолдың соңын тексереді -
array_searchфункциясы,
массив бойынша іздеуді жүзеге асырады