3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function getSimilarSubstring($a, $b) { if(!strlen($a) || !strlen($b)) { return ''; } if(false!==strpos($a, $b)) { return $b; } $length = strlen($b); for($i=$length-1; $i>0; $i--) { for($j=0; $j<$length-$i; $j++) { echo(sprintf('Current[%s][%s] = %s'.PHP_EOL, $i, $j, substr($b, $j, $i))); if($result = getSimilarSubstring($a, substr($b, $j, $i))) { return $result; } } } return ''; } $word_a = "superman"; $word_b = "stermastein"; //$word_a = 'afk'; //$word_b = 'fk'; var_dump(getSimilarSubstring($word_a, $word_b));
Output for 4.3.10 - 4.4.9, 5.0.2 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Current[10][0] = stermastei Current[9][0] = stermaste Current[8][0] = stermast Current[7][0] = stermas Current[6][0] = sterma Current[5][0] = sterm Current[4][0] = ster Current[3][0] = ste Current[2][0] = st Current[1][0] = s string(1) "s"
Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.1
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[10][0] = stermasteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[9][0] = stermastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[8][0] = stermastPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[7][0] = stermasPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[6][0] = stermaPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[5][0] = stermPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[4][0] = sterPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[3][0] = stePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[2][0] = stPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/mgEBY on line 17 Current[1][0] = sPHP_EOLstring(1) "s"