Всем привет.
Помогите решить задачу.
Есть два номера:
1.380990856601
2.380503027100
Задача состоит в следующем. Нужно сравнить любые 5 подряд идущих цифр в первом номере со вторым и если они совпадают, тогда отреагировать как-то.
Как можно сравнить любые пять подряд идущих цифр?
А почему бы просто не взять все группы по 5 цифр из первого номера, Длинна первого номера 12-5 = 8 групп, проверить включает ли второй номер любую группу из первого, также сделать со вторым, если оба не содержат ни одну из 8 групп получившихся из другого номера - тогда выдаешь несоответствие, иначе выдаешь соответствие.
Как вариант, но будет работать только с 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]));
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах
Пожалуйста скажите почему у меня здесь подчёркивается красным
Почему при вводе данных в консоль, например 100 * 5, получается не 5000, а ошибка?