Как выбрать случайное значение из массива на PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2120
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 74 раза

Как выбрать случайное значение из массива на PHP

Сообщение Slash » Вт янв 10, 2017 8:23 am

Для выбора случайного значения из массива создана функция array_rand. Использовать ее следует так:

Код: Выделить всё

# Массив
$array = array('value-1', 'value-2', 'value-3', 'value-4', 'value-5');

$rand = array_rand($array); # Получаем произвольный номер значения
echo $array[$rand];         # Выводим случайное значение на экран     
Функция array_rand не ограничивается одним случайным значением. Она может сделать случайный выбор сразу нескольких значений. Пример для выбора двух произвольных значений:

Код: Выделить всё

# Массив
$array = array('value-1', 'value-2', 'value-3', 'value-4', 'value-5');

$rand = array_rand($array, 2);                  # Получаем два случайных номера
echo $array[$rand[0]] . ' ' . $array[$rand[1]]; # Выводим произвольные значения на экран   
Тут главное, чтобы количество случайных номеров не превышало количество элементов в массиве.

Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2120
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 74 раза

Re: Как выбрать случайное значение из массива на PHP

Сообщение Slash » Вт янв 10, 2017 6:47 pm

С оф сайта PHP (из комментария), по словам автора комментария данная конструкция работает гораздо быстрее функции array_rand. Что на самом деле быстрее я не проверял.

Код: Выделить всё

<?php
    $a = ['http://php.net/', 'http://google.com/', 'http://bbc.co.uk/'];

    $website = $a[mt_rand(0, count($a) - 1)];

Ответить Пред. темаСлед. тема

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость