Случайный вывод текста из файла на PHP

11 апреля 2009

Сегодня мы поговорим о том, как вывести текст из файла на PHP, но не просто вывести, а случайно. Сначала создадим файл “data.txt”, из которого будет считываться текст, и выводиться на экран. Каждый новый текст записываем на новой строчке файла. Скрипт имеем возможность вывода определенного количества строк.

Рассмотрим код программы:

$input = array_map('trim', file("data.txt"));
$count = count($input);
$max = 0; // 0 - выводит весь текст

if($max > $count || $max == 0)
	$max = $count;
	
srand ((float) microtime() * 10000000);
$rand_keys = array_rand ($input, $count);
for ($i=0; $i< $max; $i++)
	echo $input[$rand_keys[$i]];

Как работает это скрипт? Из файла считываем все данные в массив и вычисляем количество строк в массиве с текстом из файла. Переменная $max отвечает за количество выводимых строк на экран, также действует проверка на тот случай, если значение переменной $max превышает значения максимального количества строк в массиве. Если $max принимает значение равное 0, то выводятся все строки.
Далее инициализируем генератор случайных чисел и переменной $rand_keys присваиваем случайное число в диапазоне от 0 до количества строк в массиве. И, наконец, цикл вывода случайных строк из массива на экран.
Вот и вся работа этого простейшего скрипта выводящего случайно текст из файла.

Автор: Евтеев Евгений Александрович