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