Вывод N слов из массива

392
17 февраля 2017, 05:16

Привет.

Мне необходимо из массива слов выводить случайные N слов без повторений. Количество слов указывает пользователь.

Подозреваю что проще всего реализовать на php, но я в нем совсем плох, посему прошу помощи коллективного разума или напутствий в какую сторону смотреть.

Спасибо!

Answer 1

Можно перемешать массив, и взять первые N элементов:

function randN(array $src, $n) {
  shuffle($src);
  return array_slice($src, 0, $n);
}

Либо воспользоваться функцией array_rand:

$keys = array_rand($src, $n);
$result = array_map(function($key) use ($src) {
  return $src[$key];
}, $keys);

Или:

array_rand(array_flip($src), $n);
READ ALSO
Как так произошло, что footer залез в content?

Как так произошло, что footer залез в content?

Здравствуйте, делаю интернет магазин на woocommerce, и столкнулся с проблемой, что футер каким то боком оказался внутри блокаcontent

262
Как подключить в Laravel свой класс?

Как подключить в Laravel свой класс?

Кто-то может объяснить понятным для новичка языков как правильно подключить в Laravel свой класс? Уже голова кипит: сервис-провайдеры, пакеты,...

549
Длинные запросы и события

Длинные запросы и события

Вопрос чисто на теорию: нужно создать приложение-чат, но в нем есть комментарии к сообщению и лайки (как сообщений, так и комментариев)Нужно...

261