TransWikia.com

Проверка переменной на уникальность

Stack Overflow на русском Asked by JuniorMan on December 10, 2020

Необходимо создать рандомное число из 10-15 символов, при этом чтобы последующий символ в строке не дублировал предыдущий. Допустим 01020102 – верно, 011020100 – не верно.

Вопрос скорее всего детский, но и я не сеньор, поэтому я задаю его здесь.

Для реализации (костылизации) данной задачи я было подумал, что мне достаточно просто генерить 10 рандомных однозначных чисел и потом склеивать их в одну строку, но найти функции для проверки на уникальность сравнивая с прошлой переменной я не смог.

Буду очень благодарен за подсказку как это сделать и быть может моя логика совершенно не верна и есть более простой и действенный метод генерации любых чисел без повторений подряд в строке.

One Answer

Для написания такого кода не нужно быть 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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP