TGWS>プログラミング>

文字列の左側の共通部分を得る

相当ピンポイントな関数ですが、連番ファイル名の続きを作る場合などは使えるでしょう。

// 文字列の左側の共通部分を得る
function getCommonStringLeft($array) {
    $max = count($array);
    if ($max==0) return FALSE;
    $similar = $array[0];
    for ($i=1; $i<$max; $i++) {
        for ($j=mb_strlen($similar); $j>0; $j--) {
            $similar = mb_substr($similar, 0, $j);
            if ($similar===mb_substr($array[$i], 0, $j)) {
                break;
            }
        }
        if ($j==0) return '';
    }
    return $similar;
}
// 使用例
$files = array(
    'mifumin1.txt',
    'mifumin2.txt',
    'mifumin3.txt',
    'mifumi-4.txt',
);

$left = getCommonStringLeft($files);

// mifumiが表示される
echo $left;

せっかくなので右側も

// 文字列の右側の共通部分を得る
function getCommonStringRight($array) {
    $max = count($array);
    if ($max==0) return FALSE;
    $similar = $array[0];
    for ($i=1; $i<$max; $i++) {
        for ($j=mb_strlen($similar); $j>0; $j--) {
            $similar = mb_substr($similar, mb_strlen($similar)-$j, $j);
            if ($similar===mb_substr($array[$i], mb_strlen($array[$i])-$j, $j)) {
                break;
            }
        }
        if ($j==0) return '';
    }
    return $similar;
}

左側一致を右側一致に変更しました。
使いどころはさらに限られそうな気がしますが、拡張子の抽出などに使えそうですね。