"PHP" / Говнокод #2538 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
function get_random($length = 8 /*длина суперслучайного числа*/)
{
	$result = rand(1,9);
	
	if ($length < 1)
	{
		$length = 1;
	}
	
	for ($i = 1; $i < $length; $i++)
	{
		$symbols = (string)rand(10000, 99999);
		str_shuffle($symbols);
		$element = (int)substr($symbols, 1, 1);
		$result .= $element;
	}
	
	return (int)$result;
}

генератор суперслучайных чисел)

Запостил: litrumb litrumb, (Updated )

Комментарии (12) RSS

  • Если автор хотел сделать что-то навроде этого:
    rand(pow(10, $length), pow(10, $length + 1) - 1);

    то это, собственно, не такой уж и говнокод. мало ли, не знал про pow.. все учатся потихоньку.
    Ответить
    • тут походу из случайного числа случайная цифра выбирается, причем тут pow?
      Ответить
      • тут хитро генерируется случайное число заданной длинны, насколько я вижу.
        с помощью pow так же выставляются такие рамки.

        например, при $length = 3 мы получим rand(100, 999);
        Ответить
    • Зачем использовать математическое выражение, если можно просто записать число?

      P.S. Автор не это хотел сделать
      Ответить
        • В смысле зачем писать pow(10, 3), если можно записать просто 1000.

          Я понял Вашу мысль, но генерация была написана исходя из других соображений, об этом уже написали выше. И с Вашим подходом не сгенеришь число, например, длиной 15 символов
          Ответить
          • Хотя на счет 15 символов я погорячился, думал, что возвращается строка
            Ответить
          • К моему сожалению, Вы правы.. совсем забыл про лимиты ):

            в подтверждение моим словам выше..
            Ответить
  • блин, а комментарий про длину суперслучайного числа настоящий? 🙂
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8