Функция strpos

Функция strpos биринчи кирилишдаги қисм қаторнинг ўрнини бошқа қаторда қайтаради ёки false, агар қисм қатор топилмаса. Биринчи параметр сифатида функция изланадиган қаторни қабул қилади, иккинчи параметр сифатида - излаш керак бўлган қисм қаторни.

Стандарт бўйича функция бошланғоч қатордан биринчи мослашувгача излайди. Излаш бошланғоч нуқтасини учинчи ихтиёрий параметр орқали бошқариш мумкин - агар у кўрсатилган бўлса, излаш бошланғоч қатордан эмас, балки кўрсатилган ўриндан бошланади.

Шунингдек stripos функцияси мавжуд бўлиб, у ҳам худди шуни қилади, лекин регистрни ҳисобга олмайди.

Синтаксис

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

Мисол

Бу мисолда функция биринчи 'с' белгисининг ўрнини қайтаради. У 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 функцияси,
    массив бўйлаб излайди