У меня уже спрашивали пару раз, как я делаю случайный вывод цитат у себя на сайте в блоке " Умные цитаты ". Далее мне удалось выяснить, что проблема здесь с непониманием людей, как вывести случайный элемент из массива в PHP . Задача простая, но тем не менее, раз возникают вопросы, то надо на них отвечать.

Случайный выбор из массива в PHP

У меня уже спрашивали пару раз, как я делаю случайный вывод цитат у себя на сайте в блоке "Умные цитаты". Далее мне удалось выяснить, что проблема здесь с непониманием людей, как вывести случайный элемент из массива в PHP. Задача простая, но тем не менее, раз возникают вопросы, то надо на них отвечать.

Сразу приведу код. Допустим, есть массив с набором цитат. И нужно выбрать одну случайную из них и вывести:

<?php
  $quotes = array(); // Инициализируем пустой массив
  $quotes[] = "Будьте внимательны к своим мыслям, они — начало поступков."; // Первая цитата
  $quotes[] = "Выживает не самый умный или самый сильный, а самый восприимчивый к переменам."; // Вторая цитата
  $quotes[] = "Жизнь — гора: поднимаешься медленно, спускаешься быстро."; // Третья цитата
  $quotes[] = "Люди не хотят быть богатыми, люди хотят быть богаче других."; // Четвёртая цитата
  $number = mt_rand(0, count($quotes) - 1); // Берём случайное число от 0 до (длины массива минус 1) включительно
  echo $quotes[$number]; // Выводим цитату
?>

Ключевой момент - это получение случайного числа. Всё, что нужно сделать, это задать правильные границы. Если нужно выбрать на всей длине массива случайный элемент, то это от 0 до (длины массива минус 1). А далее просто вытащить элемент из массива с полученным случайным индексом.

Что касается задачи с цитатами, то их лучше хранить в базе данных. В принципе, если сайт совсем простой, то можно и в текстовом файле. Но если в базе данных, то лучше использовать RAND() и LIMIT в SQL-запросе, чтобы Вы сразу получали единственную и случайную цитату из базы данных.