Необходимо создать рандомное число из 10-15 символов, при этом чтобы последующий символ в строке не дублировал предыдущий. Допустим 01020102 - верно, 011020100 - не верно.
Вопрос скорее всего детский, но и я не сеньор, поэтому я задаю его здесь.
Для реализации (костылизации) данной задачи я было подумал, что мне достаточно просто генерить 10 рандомных однозначных чисел и потом склеивать их в одну строку, но найти функции для проверки на уникальность сравнивая с прошлой переменной я не смог.
Буду очень благодарен за подсказку как это сделать и быть может моя логика совершенно не верна и есть более простой и действенный метод генерации любых чисел без повторений подряд в строке.
Для написания такого кода не нужно быть senior, достаточно базово знать PHP.
Ну или честно признаться, что это задание в школе/институте по дисциплине веб-программирование
<?php
$str = ""; //выходная строка
$len = rand(10,15); //длина от 10 до 15 сиволов
while ( mb_strlen( $str ) < $len ) {
$num = rand(0,9); //рандомно берем число от 0 до 9
//если строка пустая или ее последний символ не равен полученному рандомному числу
if ( mb_strlen( $str ) == 0 || intval( mb_substr( $str, mb_strlen( $str ) - 1, 1 ) ) != $num ) {
$str .= $num; //добавляем в конец строки полученное рандомное число
}
}
echo $str."\n";