PHP Program for Naive algorithm for Pattern Searching

Given a text txt[0..n-1] and a pattern pat[0..m-1], write a function search(char pat[], char txt[]) that prints all occurrences of pat[] in txt[]. You may assume that n > m.

Examples:

Input:  txt[] = "THIS IS A TEST TEXT"
        pat[] = "TEST"
Output: Pattern found at index 10

Input:  txt[] =  "AABAACAADAABAABA"
        pat[] =  "AABA"
Output: Pattern found at index 0
        Pattern found at index 9
        Pattern found at index 12
pattern-searching

Pattern searching is an important problem in computer science. When we do search for a string in notepad/word file or browser or database, pattern searching algorithms are used to show the search results.

Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program for Naive Pattern
// Searching algorithm
  
function search($pat, $txt)
{
    $M = strlen($pat);
    $N = strlen($txt);
  
    // A loop to slide pat[] 
    // one by one 
    for ($i = 0; $i <= $N - $M; $i++)
    {
  
        // For current index i, 
        // check for pattern match 
        for ($j = 0; $j < $M; $j++)
            if ($txt[$i + $j] != $pat[$j])
                break;
  
        // if pat[0...M-1] = 
        // txt[i, i+1, ...i+M-1]
        if ($j == $M
            echo "Pattern found at index ", $i."\n";
    }
}
  
    // Driver Code
    $txt = "AABAACAADAABAAABAA";
    $pat = "AABA";
    search($pat, $txt);
      
// This code is contributed by Sam007
?>

chevron_right


Output:

Pattern found at index 0
Pattern found at index 9
Pattern found at index 13

Please refer complete article on Naive algorithm for Pattern Searching for more details!



My Personal Notes arrow_drop_up


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.