function mymax($a, $b) {
return ($a > $b) ? $a : $b;
}
function lcs($s1, $s2, $s1_len, $s2_len) {
if ($s1_len == 0 || $s2_len == 0) {
return 0;
}
if ($s1[$s1_len - 1] == $s2[$s2_len - 1]) {
return 1 + lcs($s1, $s2, $s1_len - 1, $s2_len - 1);
}
else {
return mymax(lcs($s1, $s2, $s1_len, $s2_len - 1), lcs($s1, $s2, $s1_len - 1, $s2_len));
}
}
$s1 = "accyrb";
$s2 = "cyxyazb";
echo "The length of LCS is: " . lcs($s1, $s2, strlen($s1), strlen($s2));
/*
run:
The length of LCS is: 3
*/