PHP String Functions

PHP में प्रारंभिक उपपंक्तियों की कुशल जाँच

Spread the love

PHP किसी स्ट्रिंग के आरंभ में किसी विशिष्ट सबस्ट्रिंग की जाँच करने के लिए कई कुशल विधियाँ प्रदान करता है। यह लेख तीन सामान्य तरीकों का पता लगाएगा: substr(), strpos(), और strncmp() फ़ंक्शन्स का उपयोग करना। प्रत्येक विधि की अपनी ताकत और कमजोरियाँ हैं, जो उन्हें विभिन्न परिदृश्यों के लिए उपयुक्त बनाती हैं।

विषयवस्तु की तालिका

आरंभिक सबस्ट्रिंग की जाँच करने के लिए substr() का उपयोग करना

substr() फ़ंक्शन स्ट्रिंग के एक भाग को निकालता है। हम यह जांचने के लिए इसका उपयोग कर सकते हैं कि क्या स्ट्रिंग की शुरुआत हमारी लक्षित सबस्ट्रिंग से मेल खाती है। यह दृष्टिकोण सरल और समझने में आसान है।


<?php

function startsWithSubstr(string $haystack, string $needle): bool {
  return substr($haystack, 0, strlen($needle)) === $needle;
}

$string = "This is a test string.";
$substring = "This";

if (startsWithSubstr($string, $substring)) {
  echo "'$string' '$substring' से शुरू होता हैn";
} else {
  echo "'$string' '$substring' से शुरू नहीं होता हैn";
}

$string2 = "Another test string.";
$substring2 = "Test";

if (startsWithSubstr($string2, $substring2)) {
  echo "'$string2' '$substring2' से शुरू होता हैn";
} else {
  echo "'$string2' '$substring2' से शुरू नहीं होता हैn";
}

?>

यह कोड इंडेक्स 0 से शुरू होकर $needle की लंबाई के साथ $haystack के भाग को निकालता है। फिर यह यह सुनिश्चित करने के लिए एक सख्त तुलना (===) करता है कि दोनों प्रकार और मान मेल खाते हैं। यह विधि छोटी सबस्ट्रिंग्स के लिए कुशल है।

आरंभिक सबस्ट्रिंग की जाँच करने के लिए strpos() का उपयोग करना

strpos() फ़ंक्शन सबस्ट्रिंग की पहली घटना की स्थिति ज्ञात करता है। यदि सबस्ट्रिंग शुरुआत में है, तो उसकी स्थिति 0 होगी।


<?php

function startsWithPos(string $haystack, string $needle): bool {
  //strpos returns false if needle is not found, so we use !== instead of !=
  return strpos($haystack, $needle) === 0;
}

$string = "This is a test string.";
$substring = "This";

if (startsWithPos($string, $substring)) {
  echo "'$string' '$substring' से शुरू होता हैn";
} else {
  echo "'$string' '$substring' से शुरू नहीं होता हैn";
}

$string2 = "Another test string.";
$substring2 = "Test";

if (startsWithPos($string2, $substring2)) {
  echo "'$string2' '$substring2' से शुरू होता हैn";
} else {
  echo "'$string2' '$substring2' से शुरू नहीं होता हैn";
}

?>

यह एक संक्षिप्त और अक्सर उपयोग की जाने वाली विधि है। एक सख्त तुलना (=== 0) महत्वपूर्ण है क्योंकि strpos() false देता है यदि सुई नहीं मिलती है।

आरंभिक सबस्ट्रिंग की जाँच करने के लिए strncmp() का उपयोग करना

strncmp() फ़ंक्शन दो स्ट्रिंग्स के भागों की तुलना करता है। यह केस-संवेदनशील तुलनाओं के लिए या केवल एक विशिष्ट संख्या में वर्णों की जाँच करते समय विशेष रूप से उपयोगी है।


<?php

function startsWithStrncmp(string $haystack, string $needle): bool {
  return strncmp($haystack, $needle, strlen($needle)) === 0;
}

$string = "This is a test string.";
$substring = "This";

if (startsWithStrncmp($string, $substring)) {
  echo "'$string' '$substring' से शुरू होता हैn";
} else {
  echo "'$string' '$substring' से शुरू नहीं होता हैn";
}

$string2 = "Another test string.";
$substring2 = "Test";

if (startsWithStrncmp($string2, $substring2)) {
  echo "'$string2' '$substring2' से शुरू होता हैn";
} else {
  echo "'$string2' '$substring2' से शुरू नहीं होता हैn";
}

?>

strncmp() $haystack के पहले strlen($needle) वर्णों की $needle से तुलना करता है। 0 का वापसी मान दर्शाता है कि वे समान हैं। यह फ़ंक्शन कुशल है और अधिक नियंत्रण प्रदान करता है।

सही विधि चुनना

सरलता और पठनीयता के लिए छोटी सबस्ट्रिंग्स के साथ, substr() एक अच्छा विकल्प है। strpos() अधिकांश मामलों के लिए एक संक्षिप्त और कुशल समाधान प्रदान करता है। strncmp() अधिक लचीलापन प्रदान करता है, खासकर केस-संवेदनशील तुलनाओं के लिए या तुलना को एक निश्चित संख्या में वर्णों तक सीमित करते समय। बहुत बड़ी स्ट्रिंग्स के लिए, यह थोड़ा प्रदर्शन लाभ प्रदान कर सकता है, लेकिन अधिकांश सामान्य उपयोग के मामलों के लिए, strpos() आमतौर पर पर्याप्त होता है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *