(String Search) PHP ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਖੋਜ ਐਲਗੋਰਿਦਮ ਦੀ ਪੜਚੋਲ ਕਰਨਾ

ਸਟ੍ਰਿੰਗ ਖੋਜ ਐਲਗੋਰਿਦਮ ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਿੱਚ ਇੱਕ ਜ਼ਰੂਰੀ ਤਰੀਕਾ ਹੈ ਜੋ ਇੱਕ ਵੱਡੀ ਸਤਰ ਦੇ ਅੰਦਰ ਇੱਕ ਸਬਸਟਰਿੰਗ ਦੀ ਸਥਿਤੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਐਲਗੋਰਿਦਮ ਆਮ ਤੌਰ 'ਤੇ ਟੈਕਸਟ ਜਾਂ ਡੇਟਾ ਦੇ ਅੰਦਰ ਖਾਸ ਕੀਵਰਡਸ, ਅੱਖਰ ਕ੍ਰਮ, ਜਾਂ ਪੈਟਰਨਾਂ ਦੀ ਖੋਜ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। PHP ਵਿੱਚ, ਸਟ੍ਰਿੰਗ ਖੋਜਾਂ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਵਿਧੀਆਂ ਜਿਵੇਂ ਕਿ strpos() ਅਤੇ strstr() ਉਪਲਬਧ ਹਨ।

ਸਟ੍ਰਿੰਗ ਖੋਜ ਐਲਗੋਰਿਦਮ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ

ਸਤਰ ਖੋਜ ਐਲਗੋਰਿਦਮ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਕੰਮ ਕਰਦਾ ਹੈ:

  1. ਖੋਜ ਲਈ ਟੈਕਸਟ: ਪਹਿਲਾਂ, ਸਾਨੂੰ ਇੱਕ ਵੱਡੀ ਸਤਰ(ਟੈਕਸਟ, ਡੇਟਾ) ਦੀ ਲੋੜ ਹੈ ਜਿਸ ਵਿੱਚ ਅਸੀਂ ਖੋਜ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ।
  2. ਖੋਜ ਕਰਨ ਲਈ ਪੈਟਰਨ: ਸਾਨੂੰ ਇੱਕ ਸਬਸਟਰਿੰਗ(ਕੀਵਰਡ, ਪੈਟਰਨ) ਦੀ ਲੋੜ ਹੈ ਜੋ ਅਸੀਂ ਟੈਕਸਟ ਵਿੱਚ ਲੱਭਣਾ ਚਾਹੁੰਦੇ ਹਾਂ।
  3. ਸਟ੍ਰਿੰਗ ਦਾ ਮੇਲ ਕਰਨਾ: ਐਲਗੋਰਿਦਮ ਪੈਟਰਨ ਦੇ ਹਰੇਕ ਅੱਖਰ ਦੀ ਟੈਕਸਟ ਵਿੱਚ ਸੰਬੰਧਿਤ ਅੱਖਰਾਂ ਨਾਲ ਤੁਲਨਾ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਸੰਬੰਧਿਤ ਅੱਖਰ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ, ਤਾਂ ਐਲਗੋਰਿਦਮ ਅਗਲੀਆਂ ਸਥਿਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ।
  4. ਰਿਟਰਨਿੰਗ ਪੋਜੀਸ਼ਨ: ਜੇਕਰ ਸਬਸਟਰਿੰਗ ਵੱਡੀ ਸਤਰ ਦੇ ਅੰਦਰ ਮਿਲਦੀ ਹੈ, ਤਾਂ ਐਲਗੋਰਿਦਮ ਆਪਣੀ ਪਹਿਲੀ ਮੌਜੂਦਗੀ ਦੀ ਸਥਿਤੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ ਐਲਗੋਰਿਦਮ ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਮੁੱਲ(ਉਦਾਹਰਨ ਲਈ, -1) ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਸਟ੍ਰਿੰਗ ਖੋਜ ਐਲਗੋਰਿਦਮ ਦੇ ਫਾਇਦੇ ਅਤੇ ਨੁਕਸਾਨ

ਲਾਭ:

  • ਸਰਲ ਅਤੇ ਸਮਝਣ ਯੋਗ: ਇਹ ਐਲਗੋਰਿਦਮ ਲਾਗੂ ਕਰਨ ਅਤੇ ਵਰਤਣ ਲਈ ਸਿੱਧਾ ਹੈ।
  • ਛੋਟੀਆਂ ਸਤਰਾਂ ਲਈ ਚੰਗੀ ਕਾਰਗੁਜ਼ਾਰੀ: ਛੋਟੀਆਂ ਸਤਰਾਂ ਵਿੱਚ ਖੋਜ ਕਰਨ ਵੇਲੇ ਇਹ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦਾ ਹੈ।

ਨੁਕਸਾਨ:

  • ਲੰਬੀਆਂ ਸਤਰਾਂ ਲਈ ਮਾੜੀ ਕਾਰਗੁਜ਼ਾਰੀ: ਲੰਬੀਆਂ ਸਤਰਾਂ ਵਿੱਚ ਖੋਜ ਕਰਨ ਵੇਲੇ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਕਾਫ਼ੀ ਕਮੀ ਆ ਸਕਦੀ ਹੈ।
  • ਸਿਰਫ਼ ਪਹਿਲੀ ਘਟਨਾ ਨੂੰ ਲੱਭਦਾ ਹੈ: ਐਲਗੋਰਿਦਮ ਸਿਰਫ਼ ਸਬਸਟ੍ਰਿੰਗ ਦੀ ਪਹਿਲੀ ਮੌਜੂਦਗੀ ਦੀ ਸਥਿਤੀ ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਅਤੇ ਵਿਆਖਿਆ

ਮੰਨ ਲਓ ਕਿ ਸਾਡੇ ਕੋਲ ਉਤਪਾਦ ਵਰਣਨ ਟੈਕਸਟ ਹੈ, ਅਤੇ ਅਸੀਂ ਇਹ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਕੀਵਰਡ screen "ਟੈਕਸਟ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਹੇਠਾਂ PHP ਵਿੱਚ ਇੱਕ ਸਟ੍ਰਿੰਗ ਖੋਜ ਕਿਵੇਂ ਕਰਨੀ ਹੈ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ:

$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 ਜੇਕਰ ਕੀਵਰਡ ਪਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਪਹਿਲਾ ਸਥਾਨ ਛਾਪਿਆ ਜਾਂਦਾ ਹੈ; ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਇੱਕ ਸੁਨੇਹਾ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦਾ ਹੈ ਕਿ ਕੀਵਰਡ ਨਹੀਂ ਮਿਲਿਆ ਸੀ।

ਬੁਨਿਆਦੀ ਖੋਜ ਕੇਸਾਂ ਲਈ ਸਧਾਰਨ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਸਟ੍ਰਿੰਗ ਖੋਜ ਐਲਗੋਰਿਦਮ ਲੰਬੇ ਟੈਕਸਟ ਦੇ ਨਾਲ ਮਾੜਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਸਬਸਟ੍ਰਿੰਗ ਦੀਆਂ ਸਾਰੀਆਂ ਘਟਨਾਵਾਂ ਨੂੰ ਲੱਭਣ ਦੀ ਯੋਗਤਾ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦਾ ਹੈ।