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 ක්‍රියාව,
    එය අරාවක් තුළ සෙවීමක් සිදු කරයි