फ़ंक्शन 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,
    जो ऐरे में खोज करती है