PHP Program to Count Substring Occurrences with Explanation
PHP
Medium
PHP Strings
36 views
1 min read
84 words
This problem helps you practice core PHP fundamentals in a practical way. It builds intuition around count, substring, occurrence. Let’s break it down step by step so you can implement it confidently.
Problem Statement
Count how many times pattern p occurs in s (overlaps allowed).
Input Format
Two lines: s then p.
Output Format
One integer count.
Constraints
Total chars
Code Solution
This explanation is written for learning purposes and to help beginners understand the concept clearly.
<?php
$inputText=rtrim(stream_get_contents(STDIN));
if($inputText==='') exit;
$inputLines=preg_split('/\\R/', $inputText);
$s=$inputLines[0] ?? '';
$p=$inputLines[1] ?? '';
if($p===''){ echo 0; exit; }
$c=0;
for($i=0;$i+strlen($p)<=strlen($s);$i++) if(substr($s,$i,strlen($p))===$p) $c++;
echo $c;
?>
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Solution Guide
Problem
Count how many times pattern p occurs in s (overlaps allowed).
Input / Output
Input
Two lines: s then p.
Output
One integer count.
Details
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Official Solution
<?php
$inputText=rtrim(stream_get_contents(STDIN));
if($inputText==='') exit;
$inputLines=preg_split('/\\R/', $inputText);
$s=$inputLines[0] ?? '';
$p=$inputLines[1] ?? '';
if($p===''){ echo 0; exit; }
$c=0;
for($i=0;$i+strlen($p)<=strlen($s);$i++) if(substr($s,$i,strlen($p))===$p) $c++;
echo $c;
?>
Solutions (0)
No solutions submitted yet. Be the first!