Stack Overflow на русском Asked by JuniorMan on December 10, 2020
Необходимо создать рандомное число из 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";
Answered by user413219 on December 10, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP