Дан массив с n значениями, например:
$arr[] = 'ABCDEFABC';
$arr[] = 'ABCDEFDEF';
$arr[] = 'ABCDEFGHI';
$arr[] = 'ABCDEFJKL';
как найти начальный сегмент, который соответствует всем (или большинству, в приведенном ниже примере) значениям, в данном случае ABCDEF?
РЕДАКТИРОВАТЬ 2: НЕ РЕШЕНО, СМОТРЕТЬ ОТВЕТ.
Еще хуже, учитывая следующий массив:
$arr[] = 'ABCDEFABC';
$arr[] = 'ABCDEFDEF';
$arr[] = 'ABCDEFGHI';
$arr[] = 'ABCDEFJKL';
$arr[] = 'DEFABCABC';
$arr[] = 'DEFABCDEF';
$arr[] = 'DEFABCGHI';
$arr[] = 'DEFABCJKL';
как я могу получить:
$result[] = 'ABCDEF';
$result[] = 'DEFABC';
Этот хитрый ... Я пытаюсь выполнить поведение strspn () (где порядок «маски» имеет значение, спасибо, Зед), примененное к массивам.
РЕДАКТИРОВАТЬ: Чтобы немного прояснить ситуацию, я хочу найти все общие буквы, которые существуют в одном и том же индексе, во всех значениях массива (не уверен, что это стало проще или нет!) , В этой второй проблеме, поскольку все символы не соответствуют индексу в других значениях, мне нужно соответствовать максимальному количеству идентичных начальных сегментов (в данном случае 2: ABCDEF и DEFABC).