3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $s = "ab"; $s1 = "cAbfabe"; $rest = $s1; do { $rest = stristr($rest,$s); echo "rest: $rest\n"; $s3 = substr($rest,0,count($s)+1); $s1 = str_replace($s3,"<$s3>",$s1); echo "s3: $s3\n"; $rest = substr($rest,count($s)+1); echo "rest: $rest\n"; echo "=======\n"; } while ($rest != false); echo "s1: $s1\n";
Output for 7.2.0 - 7.2.6
rest: Abfabe Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 9 s3: Ab Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 12 rest: fabe ======= rest: abe Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 9 s3: ab Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 12 rest: e ======= rest: Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 9 s3: Warning: count(): Parameter must be an array or an object that implements Countable in /in/PiIJ0 on line 12 rest: ======= s1: c<Ab>f<ab>e
Output for 4.3.0 - 7.1.20
rest: Abfabe s3: Ab rest: fabe ======= rest: abe s3: ab rest: e ======= rest: s3: rest: ======= s1: c<Ab>f<ab>e