How to find the longest common string prefix in array of strings in PHP

1 Answer

0 votes
function longestCommonPrefix($arr) { 
    $size = sizeof($arr); 
   
    if ($size == 0) 
        return ""; 
   
    if ($size == 1) 
        return $arr[0]; 
   
    sort($arr); 
   
    $min_length = min(strlen($arr[0]), strlen($arr[$size - 1])); 
   
    $i = 0; 
    while ($i < $min_length && $arr[0][$i] == $arr[$size - 1][$i]) 
            $i++; 
   
    return substr($arr[0], 0, $i); 
} 
    
$arr = array("cartography", "carburettor", "carbonating");

echo "Longest common prefix: " . longestCommonPrefix($arr);



/*
run:

Longest common prefix: car

*/

 



answered Mar 4, 2021 by avibootz
...