Strpos функциясы

strpos функциясы бир саптан башка саптагы подстроканын биринчи кездешүү позициясын кайтарат же false, эгер подстрока табылбаса. Биринчи параметр катары функция изделүүчү сапты кабыл алат, экинчи параметр катары - изделиши керек болгон подстроканы.

Демейки абалда функция саптын башынан биринчи дал келүүгө чейин издеп чыгат. Издөөнүн баштоосу үчүнчү милдеттүү эмес параметр менен жөнгө салынышы мүмкүн - эгер ал берилсе, анда издөө саптын башынан эмес, берилген жерден башталат.

Ошондой эле stripos функциясы бар, ал дал ушундай нерсени жасайт, бирок регистрди эске албай.

Синтаксис

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

Мисал

Бул мисалда функция биринчи 'c' символунун позициясын кайтарат. Ал 2 позициясын ээлейт, себеби саноо 0дон башталат:

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

Кодду иштетүүнүн натыйжасы:

php2

Мисал

Бул мисалда үчүнчү параметр берилген жана ошон үчүн издөө үчүнчү позициядан башталат, бул учурда функция экинчи символду 'c' табат жана анын позициясын - 8 чыгарат:

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

Кодду иштетүүнүн натыйжасы:

php8

Мисал

Эгер подстрока табылбаса - анда функция false кайтарат. Эгерде сап башында турса, анда функция 0 кайтарат. Бул кыска формадагы шарт менен салыштырууда көйгөй жарата алат:

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

Кодду иштетүүнүн натыйжасы (биз күткөндөй эмес):

php'---'

Мисал

Саптын башын туура текшеребиз:

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

Кодду иштетүүнүн натыйжасы:

php'+++'

Ошондой эле караңыз

  • strrpos функциясын,
    ал подстроканын акыркы кездешүү позициясын кайтарат
  • str_contains функциясын,
    ал сапта символдун бар экендигин текшейт
  • str_starts_with функциясын,
    ал саптын башын текшейт
  • str_ends_with функциясын,
    ал саптын аягын текшейт
  • array_search функциясын,
    ал массив боюнча издөө жүргүзөт