Сравнение номера телефона

83
23 марта 2021, 16:10

Всем привет.

Помогите решить задачу.

Есть два номера:

1.380990856601
2.380503027100

Задача состоит в следующем. Нужно сравнить любые 5 подряд идущих цифр в первом номере со вторым и если они совпадают, тогда отреагировать как-то.

Как можно сравнить любые пять подряд идущих цифр?

Answer 1

А почему бы просто не взять все группы по 5 цифр из первого номера, Длинна первого номера 12-5 = 8 групп, проверить включает ли второй номер любую группу из первого, также сделать со вторым, если оба не содержат ни одну из 8 групп получившихся из другого номера - тогда выдаешь несоответствие, иначе выдаешь соответствие.

Answer 2

Как вариант, но будет работать только с 2 элементами в массиве, если будет больше - код нужно допиливать:

<?
    $arr = [
        '380990856601',
        '566013027100'
    ];
    $newArr = [];
    foreach ($arr as $key => $number){
        for ($i = 0; $i < 8; $i++){
            $newArr[$key][] = substr($number, $i, 5);
        }
    }
    //Выведет те, которые совпали
    var_dump(array_intersect($newArr[1], $newArr[0]));
?>
READ ALSO
Подскажите пожалуйста [закрыт]

Подскажите пожалуйста [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах

124
Ошибка при работе с базой данных в java, androidStudio

Ошибка при работе с базой данных в java, androidStudio

Пожалуйста скажите почему у меня здесь подчёркивается красным

95
Ввод данных через консоль используя Scanner

Ввод данных через консоль используя Scanner

Почему при вводе данных в консоль, например 100 * 5, получается не 5000, а ошибка?

95