Рандом или число «с потолка»

Рандом, что это такое? Это число генерируемое произвольно. Почему именно так называют? Все просто, в php есть такой оператор rand именно он генерит произвольное число. вот простой пример.


<?php

      
echo rand().'<br/>';

      echo 
rand(10,100).'<br/>';

?>

В первом случае будет выведено произвольное число из всего множества целых чисел, во втором случае будет выведено число из диапазона от 10 до 100. Теперь рассмотрим такой пример, допустим мы захотели вывести произвольную строку. «Так при чем же здесь рандом спросите вы? В примере он всего лишь генерирует числа.» Ну что ж, посмотрим…


<?php

$data_array 
file('./dir/file.txt'); //Прочитали файл в массив

$count count($data_array); //Подсчитали количество элементов массива

$chislo rand(0,$count-1); //Так как элементы массива имеют ключи с 0 до $count-1

echo $data_array[$chislo]; //Вот вам и произвольная строка из файла 

?>

Как видите все очень просто читаем файл в массив, подсчитываем количество элементов массива, и генерируем рэндомное число в диапазоне ключей массива, т.е рэндомное число которое может быть исключительно ключем. Ну и выводим его собственно. Вот и все)

Комментарии (6) к “Рандом или число «с потолка»”

  • Kreatiff:

    Спасибо за статью – коротко и доходчиво объяснили. А главное – оперативно! ;) Попробую подобное сотворить на своём новом сайте. Респект… земля круглая…

  • Зачем считать количество элементов массива и брать случайное число, когда сразу можно array-rand?
    см. http://www.php.su/functions/?array-rand

  • Абсолютно ничего против не имею. Можно использовать и array_rand, я привел пример лишь как привык делать. Array_rand как раз будет удобнее в том случае если мы не знаем ключей массива (когда они ассоциативные, а не числовые).

  • Спасибо, а как можно получить случайные числа дробный?

  • А чем вам не нравится решение: сгенерить два числа рандомно и разделить большее на меньшее?)

  • Здравствуете жутко понравился саит, все очень просто и хорошо написано
    А можно побольше о функциях как и где их применять в коде при создании саита Спасибо заранее я начинающий :)

Оставить Ответ