АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
87 of 410 menu

Функцыя strpos

Функцыя strpos вяртае пазіцыю першага ўваходжання падрадка ў другі радок ці false, калі падрадок не знойдзены. Першым параметрам функцыя прымае радок, у якім ажыццяўляецца пошук, другім параметрам - падрадок, які трэба шукаць.

Па змаўчанні функцыя шукае з пачатку радка да першага супадзення. Пачатак пошуку можна рэгуляваць трэцім неабавязковым параметрам - калі ён зададзены, то пошук пачнецца не з пачатку радка, а з паказанага месца.

Ёсць таксама функцыя stripos, якая робіць тое ж самае, але без уліку рэгістру.

Сінтаксіс

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

Прыклад

У гэтым уроку функцыя верне пазіцыю першага сімвала 'с'. Ён займае пазіцыю 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,
    якая ажыццяўляе пошук па масіве
byenru