Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: генерация чисел из масива
 
 автор: vakhtang   (30.03.2010 в 10:59)   письмо автору
 
 

добрый день

как мне сделать генерацию чисел типа функции rand но чтобы генерировала она числа только из тех которые я подам ей например в масиве

например масив из чисел 2,5,56,34,33,12,59

вот мне нужна функция которая выберет из масива случайным образом 5 числе причем не повторяясь то есть чтобы туда не попало одно и тоже число из масива

тут думаю наверное надо функцию srand() задействовать но я что то в ней не разобрался, помогите кто может


заранее большое спасибо

  Ответить  
 
 автор: DJ Paltus   (30.03.2010 в 11:09)   письмо автору
 
   для: vakhtang   (30.03.2010 в 10:59)
 

Ну в твоем вопросе уже есть ответ! )
У каждого числа в массиве есть порядковый индекс от 0 до n, где n - это размер массива минус 1.
Значит, выбор случайного элемента сводится к выводу элемента массива с рандомным индексом rand(0,n). Ну, а следом надо этот же элемент массива прикончить (unset), чтобы произвести повторную выборку без возвращения.

  Ответить  
 
 автор: Drago   (30.03.2010 в 11:34)   письмо автору
 
   для: 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($b05));

  Ответить  
 
 автор: vakhtang   (30.03.2010 в 11:45)   письмо автору
 
   для: Drago   (30.03.2010 в 11:34)
 

спасибо ребята!!!!!


просто суперский форум!!!!

  Ответить  
 
 автор: Саня   (30.03.2010 в 14:09)   письмо автору
 
   для: vakhtang   (30.03.2010 в 10:59)
 

Есть специальная функция для этого — array_rand()

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования