1. PHP / Говнокод #2538

    +170.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 03 Февраля 2010

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

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

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

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

        P.S. Автор не это хотел сделать
        Ответить
        • В смысле “просто записать”?

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

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

              в подтверждение моим словам выше..
              Ответить
    • блин, а комментарий про длину суперслучайного числа настоящий? :)
      Ответить
    • http://xkcd.com/221/

      Эх, картинки вставлять нельзя...
      Ответить

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