Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
NeTLeaDeR
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 148
1

Строка: Сгенерировать строку длиной в 35 символов из рандомных символов (цифры 0-9 + латинский алфавит)

01.08.2016, 19:28. Просмотров 464. Ответов 8
Метки нет (Все метки)

Всем привет.
Мне нужно сгенерировать строку из рандомных символов (цифры 0-9 + латинский алфавит) из 35 символов.
Пример: 4a561h2148q75412hsf4hs6l7a5a6n87ag3
Как такое можно реализовать?

Добавлено через 31 минуту
Получилось у самого. Если кому нужно будет вот код:
PHP
1
2
3
4
5
6
7
8
9
10
<?php
  $length = 35;
  $chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
  $numChars = strlen($chars);
  $string = '';
  for ($i = 0; $i < $length; $i++) {
    $string .= substr($chars, rand(1, $numChars) - 1, 1);
  }
  echo $string;
?>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2016, 19:28
Ответы с готовыми решениями:

Сформировать строку из рандомных символов
Здравствуйте. Часто видел, что программисты получают такие значения: &quot;dsgsd8dfgdf76234bsd7&quot;, как...

Дана строка символов. Подсчитать общее число вхождений символов +, -, *, / в строку. Произвести обмен символов + и -.
помогите, пожалуйста.

Дана строка символов, длиной n. Преобразовать строку, заменив все восклицательные на точки
Дана строка символов, длиной n. Преобразовать строку, заменив все восклицательные на точки. Pascal

Не получается сгенерировать текст из рандомных символов. Выводится undefined.
Я только начинаю учить язык. Составляю простенькую программу. Написано все правильно но выдает...

Задана строка текста длиной не менее двадцати символов. Выполнить перевод всех символов этой строки из верхнего регистра в нижний, и наоборот
1. Ввести множество, запись или строку с помощью клавиатуры. 2. Вывести на экран монитора исходную...

8
WhiteMind
Hello Kitty
680 / 554 / 400
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.08.2016, 19:36 2
Цитата Сообщение от NeTLeaDeR Посмотреть сообщение
Получилось у самого. Если кому нужно будет вот код:
ну вот что это такое?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
function getRandomString($len, $chars = 'abcdefghijklmnopqrstuvwxyz0123456789') {
    return str_shuffle(
        substr(
            str_repeat(
                str_shuffle($chars), 
                ceil($len / strlen($chars))
            ), 
            0, 
            $len
        )
    );
}
0
maruo
132 / 132 / 48
Регистрация: 26.04.2013
Сообщений: 1,355
01.08.2016, 21:52 3
не лучший вариант но как идея имеет место быть если доработать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function generateStr($dlina = 6) {
      $massiv1 = array(
        "b","c","d","f","g","h","j","k","l","m",
        "n","p","r","s","t","v","w","x","y","z"
      );
      $massiv2 = array("1","2","3","4","5","6","7","8","9","0");
      $parol = "";
      srand ((double)microtime()*1000000);
      $max = $dlina/2;
      for($i=1; $i<=$max; $i++) :
        $parol .= $massiv1[rand(0,19)];
        $parol .= $massiv2[rand(0,4)];
      endfor;
      return $parol;
    }
0
WhiteMind
Hello Kitty
680 / 554 / 400
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.08.2016, 22:04 4
Цитата Сообщение от maruo Посмотреть сообщение
не лучший вариант но как идея имеет место быть если доработать
что если длина нечетная?
букв 20(где a?) а цифр 10, меж тем в итоге распределение 50 на 50
и более: буквы и цифры просто чередуются. где случайность?
---
вариант не просто
Цитата Сообщение от maruo Посмотреть сообщение
не лучший вариант
он не рабочий
0
01.08.2016, 22:04
maruo
132 / 132 / 48
Регистрация: 26.04.2013
Сообщений: 1,355
01.08.2016, 23:00 5
WhiteMind, букву а дописать в массив.
Если ставить задачу точно, что бы прям рандом был, то да он не подходит, но как вариант рабочий.
А при чем четное ? любая длинная указывается
Тогда почему бы не так?

PHP
1
2
$str = md5(uniqid(rand(), true));
    echo $str;
Добавлено через 11 минут
Минусом будет только то что число символом будет строго 32
0
WhiteMind
Hello Kitty
680 / 554 / 400
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.08.2016, 23:07 6
Цитата Сообщение от maruo Посмотреть сообщение
А при чем четное ? любая длинная указывается
а вы пробовали? любую длину указывать?
Цитата Сообщение от maruo Посмотреть сообщение
PHPВыделить код
1
2
$str = md5(uniqid(rand(), true));
* * echo $str;
Добавлено через 11 минут
Минусом будет только то что число символом будет строго 32
не только. также не будет букв после f
0
maruo
132 / 132 / 48
Регистрация: 26.04.2013
Сообщений: 1,355
01.08.2016, 23:09 7
Цитата Сообщение от WhiteMind Посмотреть сообщение
не только. также не будет букв после f
Не так уж и критично я так считаю в данной ситуации.
0
WhiteMind
Hello Kitty
680 / 554 / 400
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
01.08.2016, 23:19 8
из темы
Строка: Сгенерировать строку длиной в 35 символов из рандомных символов (цифры 0-9 + латинский алфавит)
а у вас уже 32 длинна и нет букв после f
и
Цитата Сообщение от maruo Посмотреть сообщение
Не так уж и критично я так считаю в данной ситуации.
0
maruo
132 / 132 / 48
Регистрация: 26.04.2013
Сообщений: 1,355
01.08.2016, 23:22 9
WhiteMind, недостающие символы недолго добить. А насчет букв после f это не критично
0
01.08.2016, 23:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2016, 23:22

Сколько можно составить слов длиной 4 буквы, используя латинский алфавит?
26 букв латинского алфавита. В слове буквы могут повторяться. Заранее спасибо.

Дана строка символов. Преобразовать данную строку, удалив из нее каждую пару символов >> и вставив вместо них пару символов <<.
Дана строка символов. Преобразовать данную строку, удалив из нее каждую пару символов &gt;&gt; и вставив...

Строка из рандомных символов
Всем привет. Программа запускается нормально, но не выводит значения на экран (выводит только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru