Xwab
Форумыnavigate_nextПрограммирование на PHP

Random-вывод с массива
Сообщения
Axion

Доброго времени суток. Требуется вывести random-значение с array-массива.
Работает такой код:

$textrand = array('Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье');
$numrand = rand(0,6);
echo $textrand[$numrand];

Вопрос: относится ли данный код к категории "говнокод" и как правильно выводить значения с массива? Спасибо

18 Мар 2012, 13:09
DarveL

$textrand = array('Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье');
echo $textrand[rand(0,count($textrand)-1)];

18 Мар 2012, 13:10
Axion

DarveL, спасибо, но ради интересса хочу узнать, можно ли использовать мой вариант (в случае небольшой выборки с массива, которую можно подсчитать вручную и записать колличество в rand (0, колличество)

18 Мар 2012, 13:16
IceJOKER

Axion, array_rand($textrand, 1);

18 Мар 2012, 13:52
oee

Axion, твой вариант нормальный.

18 Мар 2012, 14:20
YetiRider

Вариант автора тоже нормальный.

18 Мар 2012, 14:27
mixlion

Axion, твой вариант нормальный, но зачем, если есть array_rand:
[php:1:6c519eaf68]echo $textrand[array_rand($textrand)];[/php:1:6c519eaf68]

18 Мар 2012, 15:27
oee

mixlion, а может автору нужно еще где-то использовать значение $numrand? Зачем объявлять 100500 переменных с одинаковыми значениями)

18 Мар 2012, 19:22
IceJOKER

oee, ,тогда будем гадать что ли?
Тема "Random-вывод с массива", ответ: array_rand(); - самый хороший вариант, а автор в свою очередь выберет, что ему надо

18 Мар 2012, 19:53
Ответить на тему