(String Search) پی ایچ پی میں سٹرنگ سرچ الگورتھم کی تلاش

سٹرنگ سرچ الگورتھم پروگرامنگ میں ایک ضروری طریقہ ہے جو بڑے سٹرنگ کے اندر سب اسٹرنگ کی پوزیشن کا پتہ لگانے کے لیے استعمال ہوتا ہے۔ یہ الگورتھم عام طور پر متن یا ڈیٹا کے اندر مخصوص مطلوبہ الفاظ، کردار کی ترتیب، یا پیٹرن کو تلاش کرنے کے لیے استعمال کیا جاتا ہے۔ پی ایچ پی میں، مختلف طریقے جیسے strpos() اور strstr() سٹرنگ تلاش کرنے کے لیے دستیاب ہیں۔

اسٹرنگ سرچ الگورتھم کیسے کام کرتا ہے۔

سٹرنگ سرچ الگورتھم اس طرح کام کرتا ہے:

  1. تلاش کرنے کے لیے متن: سب سے پہلے، ہمیں ایک بڑی تار(متن، ڈیٹا) کی ضرورت ہے جس کے اندر ہم تلاش کرنا چاہتے ہیں۔
  2. تلاش کرنے کے لیے پیٹرن: ہمیں ایک ذیلی اسٹرنگ(کلیدی لفظ، پیٹرن) کی ضرورت ہے جسے ہم متن کے اندر تلاش کرنا چاہتے ہیں۔
  3. سٹرنگ کا ملاپ: الگورتھم پیٹرن کے ہر کردار کا متن میں متعلقہ حروف سے موازنہ کرتا ہے۔ اگر متعلقہ حروف مماثل نہیں ہوتے ہیں، تو الگورتھم اگلی پوزیشنوں کو چیک کرتا رہتا ہے۔
  4. واپسی کی پوزیشن: اگر سبسٹرنگ بڑی سٹرنگ کے اندر پائی جاتی ہے، تو الگورتھم اپنی پہلی موجودگی کی پوزیشن لوٹاتا ہے۔ اگر نہیں ملتا ہے تو، الگورتھم ایک غیر موجود قدر واپس کرتا ہے(مثال کے طور پر، -1)۔

سٹرنگ سرچ الگورتھم کے فائدے اور نقصانات

فوائد:

  • سادہ اور قابل فہم: یہ الگورتھم لاگو کرنے اور استعمال کرنے کے لیے سیدھا ہے۔
  • مختصر تاروں کے لیے اچھی کارکردگی: مختصر تاروں میں تلاش کرتے وقت یہ اچھی کارکردگی دکھاتی ہے۔

نقصانات:

  • لمبی تاروں کی خراب کارکردگی: لمبی تاروں میں تلاش کرتے وقت کارکردگی میں نمایاں کمی واقع ہو سکتی ہے۔
  • صرف پہلا واقعہ تلاش کرتا ہے: الگورتھم صرف سبسٹرنگ کی پہلی موجودگی کی پوزیشن لوٹاتا ہے۔

مثال اور وضاحت

فرض کریں کہ ہمارے پاس پروڈکٹ کی تفصیل کا متن ہے، اور ہم یہ دیکھنا چاہتے ہیں کہ آیا مطلوبہ لفظ screen "متن میں ظاہر ہوتا ہے۔ پی ایچ پی میں اسٹرنگ تلاش کرنے کے طریقے کی ایک مثال ذیل میں دی گئی ہے:

$text = "This product features a wide and high-quality screen.";  
$keyword = "screen";  
  
$position = strpos($text, $keyword);  
  
if($position !== false) {  
    echo "The keyword \"$keyword\" was found at position $position in the text.";  
} else {  
    echo "The keyword \"$keyword\" was not found in the text.";  
}  

اس مثال میں، ہم فنکشن کا استعمال  متن کے اندر strpos() مطلوبہ الفاظ کی پہلی موجودگی کی پوزیشن کو تلاش کرنے کے لیے کرتے ہیں۔ screen اگر مطلوبہ لفظ مل جاتا ہے، تو اس کی پہلی پوزیشن پرنٹ ہوتی ہے۔ اگر نہیں، تو ایک پیغام ظاہر ہوتا ہے کہ مطلوبہ لفظ نہیں ملا۔

بنیادی تلاش کے معاملات کے لیے سادہ اور موثر ہونے کے باوجود، سٹرنگ سرچ الگورتھم لمبی تحریروں کے ساتھ خراب کارکردگی کا مظاہرہ کر سکتا ہے اور سب اسٹرنگ کے تمام واقعات کو تلاش کرنے کی صلاحیت فراہم نہیں کرتا ہے۔