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(false!==strpos($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 5.0.4 - 7.1.0
Current[10][0] = stermastei Current[9][0] = stermaste Current[9][1] = termastei Current[8][0] = stermast Current[8][1] = termaste Current[8][2] = ermastei Current[7][0] = stermas Current[7][1] = termast Current[7][2] = ermaste Current[7][3] = rmastei Current[6][0] = sterma Current[6][1] = termas Current[6][2] = ermast Current[6][3] = rmaste Current[6][4] = mastei Current[5][0] = sterm Current[5][1] = terma Current[5][2] = ermas Current[5][3] = rmast Current[5][4] = maste Current[5][5] = astei Current[4][0] = ster Current[4][1] = term Current[4][2] = erma Notice: Undefined variable: result in /in/Ffh81 on line 20 NULL
Output for 4.3.10 - 4.4.9, 5.0.2 - 5.0.3
Current[10][0] = stermastei Current[9][0] = stermaste Current[9][1] = termastei Current[8][0] = stermast Current[8][1] = termaste Current[8][2] = ermastei Current[7][0] = stermas Current[7][1] = termast Current[7][2] = ermaste Current[7][3] = rmastei Current[6][0] = sterma Current[6][1] = termas Current[6][2] = ermast Current[6][3] = rmaste Current[6][4] = mastei Current[5][0] = sterm Current[5][1] = terma Current[5][2] = ermas Current[5][3] = rmast Current[5][4] = maste Current[5][5] = astei Current[4][0] = ster Current[4][1] = term Current[4][2] = erma Notice: Undefined variable: result in /in/Ffh81 on line 20 NULL
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/Ffh81 on line 17 Current[10][0] = stermasteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[9][0] = stermastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[9][1] = termasteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[8][0] = stermastPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[8][1] = termastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[8][2] = ermasteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[7][0] = stermasPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[7][1] = termastPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[7][2] = ermastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[7][3] = rmasteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[6][0] = stermaPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[6][1] = termasPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[6][2] = ermastPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[6][3] = rmastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[6][4] = masteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][0] = stermPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][1] = termaPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][2] = ermasPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][3] = rmastPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][4] = mastePHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[5][5] = asteiPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[4][0] = sterPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[4][1] = termPHP_EOL Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/Ffh81 on line 17 Current[4][2] = ermaPHP_EOL Notice: Undefined variable: result in /in/Ffh81 on line 20 NULL