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 ֆունկցիան,
    որը կատարում է որոնում զանգվածում