|
|
|
| добрый день
как мне сделать генерацию чисел типа функции rand но чтобы генерировала она числа только из тех которые я подам ей например в масиве
например масив из чисел 2,5,56,34,33,12,59
вот мне нужна функция которая выберет из масива случайным образом 5 числе причем не повторяясь то есть чтобы туда не попало одно и тоже число из масива
тут думаю наверное надо функцию srand() задействовать но я что то в ней не разобрался, помогите кто может
заранее большое спасибо | |
|
|
|
|
|
|
|
для: vakhtang
(30.03.2010 в 10:59)
| | Ну в твоем вопросе уже есть ответ! )
У каждого числа в массиве есть порядковый индекс от 0 до n, где n - это размер массива минус 1.
Значит, выбор случайного элемента сводится к выводу элемента массива с рандомным индексом rand(0,n). Ну, а следом надо этот же элемент массива прикончить (unset), чтобы произвести повторную выборку без возвращения. | |
|
|
|
|
|
|
|
для: vakhtang
(30.03.2010 в 10:59)
| | Используйте функции shuffle() и array_unique().
<?php
$a = array(2,5,56,34,33,12,59,5,35,2,45);
$b = array_unique($a);
shuffle($b);
echo implode(', ', array_slice($b, 0, 5));
|
| |
|
|
|
|
|
|
|
для: Drago
(30.03.2010 в 11:34)
| | спасибо ребята!!!!!
просто суперский форум!!!! | |
|
|
|
|
|
|
|
для: vakhtang
(30.03.2010 в 10:59)
| | Есть специальная функция для этого — array_rand() | |
|
|
|